#the doc will always use the external causes code
Explore tagged Tumblr posts
911coded · 2 months ago
Text
I love it when the order has an external causes code and you are able to use the notes on the order to enter a real code without sending a query
0 notes
krovav · 5 years ago
Link
Hello 👋 I noticed that MBTI has been on trend lately so I wanted to offer some simplified info for the people who just want to know the basics. If you have any questions, feel free to comment or DM me. I've organized this info in a Google Doc for easier reading: https://bit.ly/2Z81Aod
How to Find Your MBTI Type:
This one is relatively simple. While it's possible to pay for a psychologist to run the test for you, with a little self-insight you can manage it for free.
Take a (mostly) reliable free test. I like this one: http://www.keys2cognition.com/explore.htm
If your result fits, take it over to the next section of this post labelled "cognitive functions". If not, read on.
   So, your result doesn't fit. That's okay - these tests aren't foolproof and tend to favor certain type results. Let's dissect a little.
   A common misconception about MBTI is that the four-letter code you get is all that matters. You might think if you get INFP, you’re just an introvert with a lot of feelings. In reality, your code means so much more. This is why someone who isn’t that fond of people might get an extroverted code, or any other seemingly-irrational result.
   Because of that, your first step after getting an inaccurate result is going to be reflecting on which part you disagree with. Here are some general rules:
Introversion vs. Extroversion
   Introverted types aren’t necessarily antisocial; introverted types are people who do most of their thinking internally. An introvert can love parties yet need alone time to recharge after — they are still an introvert.
   The same can be said for extroverted types; they may be home-bodied but need a close circle of friends to interact with regularly. Extroverted types are more likely to “think out loud” or bounce ideas off of external sources, like their friends and coworkers.
   Tip: Social anxiety does not make someone introverted. Many extroverts are socially anxious, just as many introverts are comfortable with socializing.
Intuition vs. Sensing
   Intuitive types are people who live primarily in their inner-mind. They are usually comfortable with theories and philosophy, but can struggle with the physical world such as athletics or self-care.
   Sensory types are people who live primarily in the external world. They are usually comfortable with athletics and self-care, but can struggle with less concrete concepts such as theories and philosophy.
Thinking vs. Feeling
   Thinking types are people who prefer to make decisions using logic and facts. Thinkers are usually comfortable with debate but struggle with empathy.
   Feeling types are people who prefer to make decisions using their “heart”, aka, their emotions. Feelers are usually comfortable with empathy but struggle with debate.
Tip: Thinkers can be emotional people and feelers can be rational people. Be careful not to turn a self-help metric into a stereotype.
Judging vs. Perceiving
   Judging types are people who prefer planning. Judgers are usually comfortable with long-term life plans but struggle with living spontaneously.
   Perceiving types are people who prefer to go with the flow. Perceivers are usually comfortable with living “in the moment” but struggle with long-term planning.
   Have a better idea of what you might be now? If so, let’s move on to:
Understanding Your Cognitive Functions:
   Put simply, MBTI is a system of personality “codes” that translate to something called a “function stack”. For example, INTJ (introversion-intuition-thinking-judging) translates to “Ni-Te-Fi-Se”. Your first time reading this chain of letters may be confusing, so let’s break it down:
First in your stack is your Dominant Function. This is what you are most comfortable using. This is the “Protagonist” of your function stack.
Second in your stack is your Auxiliary Function. This is what you fall back on after your Dominant Function doesn’t apply. The “Side-Kick.”
Third in your stack is your Tertiary Function. The Tertiary function is mostly subconscious and best serves to support your first two functions. The “Side-Character.”
Fourth in your stack is your Inferior Function. This is what you likely struggle with most and attempting to use this function will cause stress and what MBTI calls a “rut”. The “Antagonist.”
   Here is a list of all eight functions and what role they usually take:
Tumblr media
   (https://personalityjunkie.com/02/function-roles-8-jungian-functions/)
   Now, what do you do with all these functions? You use them as a tool to better understand yourself and improve your life. For example, my inferior function is “Extroverted Sensing (Se)”, a function that supports taking action and focusing on the world around me. I will always struggle with this function, however, I know that I can balance this struggle by developing my “Extroverted Thinking (Te)”, my Auxiliary function. I can use organizational systems to plan how I’ll get things out of my head, how I’ll keep up with my fitness, even how often I do things like give my hair a trim.
   It’s important to note that each person uses all eight functions; this includes the ones inside and outside of their function stack. This is a more complicated concept that you may want to research once you get the gist of your MBTI, as well as other typological metrics that factor into your personality such as enneagram and instinctual variants.
   I highly recommend utilizing your function stack; even if that might just entail being more positive about being yourself, or finding a few good books to read from people who are similar to you. Taking my self-improvement on with this personality theory has helped me to learn a lot about myself and others, and I hope it helps you, too.
   If you would like to learn more, here are some articles I’ve read in the past that go more in-depth:
Personality Type Basics (Typology 101)
by PersonalityJunkie (https://personalityjunkie.com/typology-101/)
The 8 Functions (Typology 201)
by PersonalityJunkie (https://personalityjunkie.com/functions-ni-ti-fi-si-ne-te-fe-se/)
The “Functional Stack” (Typology 301)
by PersonalityJunkie (https://personalityjunkie.com/functional-stack-type-dynamics-theory/)
   Disclaimer: I am not a licensed psychologist. I am a hobbyist with a lot of time invested into typology research. For psychological advice, please seek the help of a trained professional.
   That being said, for questions about MBTI and general typology, feel free to comment on this document or any of my public social media, and I will get back to you and/or list the answer to your question in this document. Also, if you are unsure what type you may be, you are welcome to message me and I will try to help.
8 notes · View notes
vegetacide · 6 years ago
Text
Whump●tober - Explosion
Veg-notables:   For whumptober. This one kind wrote itself and I wrote it a$$ backwards starting with the end and filling in the rest.   It ended up longer than I expected so I apologize in advance for the word spewage - The boys wanted to banter so I let ‘em. 
As always,  thanks to @gumnut-logic for her help hashing out the plot. 
Obligatory whumptober stuff: @whumptober2019 @la-vie-en-whump
Blanket warning:   Its gonna get hot. 
Characters:  Virgil,  Alan, Scott and Johnny. 
Whumptober - TaG universe
2. Explosion
Enjoy...
oOo
“Thunderbird Two to command”
“Go ahead, V. What’s your status?”
“Hey, we’re almost done on the South end of the factory but it’s slow going. The smoke and the super structure of this place is screwing with our scans so we’re having to back track.”
“I’ll see if there’s anything John can do on his end to clear it up. Find anything?”
Virgil shook his head before he realized that Scott couldn’t see him. “It’s what I haven’t found that disturbing me. What the hell happened to the fire suppression system?”
“Not sure. Both John and the GDF confirmed this facility was registered as meeting requirements on its last inspection.  It’s a question I am going to be posing to the CEO once he’s done showboating for the media hounds.” 
“Well, wait for me.  I would love to hear the answer.”
He got a chuckle from the other end of the open comm. “I’ll see what I can do.  Get back at it and check in with me in five.. Or if you find anything.”
“Will do.”  The comm channel clicked off and Virgil turned as his youngest brother appeared in the doorway at his back with a tote bag full of suppression grenades.
They were making their way through what was left of a chemical manufacturing plant that had seen better days.  They’d received a request for assistance in the early hours of the morning as flames has shot some fifty feet above the roof line. The noxious fumes of the burning cocktail of who knew what  that wafted out had been pushed by a North Eastern to the neighbouring township.  Forcing the local services to call for the immediate evacuation of the 8, 962 residents.  
During the course of the evacuation Scott had been roped in to help shuttle while Virigl and Alan had stayed behind to help with containment.  For the most part the fire out due to their specialized gear and a fire retardant foam that Brains had concocted for just this scenario.  
Now though they had to pick their way through the smoldering remains to search for survivors who could be holed up in any of the emergency fire shelters that were scattered around the confusing maze of corridors that made up the complex.  
The installation of a mobile ventilation system was doing it best to clear out the contaminants and particulates polluting the air but the smoke was still hung heavy over the hulking, burnt out husk of a factory which meant that Virgil and Alan had to do the majority of the foot work themselves. 
The place had to be cleared back to the GDF before they would risk the lives of any of the local crews on clean up.    
“How’s are inventory?”  He asked by way of greeting and turned to focus on the holographic schematics of the building that were hovering above his wrist unit. 
“Depleting but we should have enough.”  Alan dropped the bag at his brother’s feet and started redistributing the spherical concussion bombs  into Virgil’s bag.  “We’ll have to start using these sparingly.” 
Virgil rubbed a hand over his sooty visor, “Well looks like the fire is contained in this section. Should just be a matter of snuffing out hot spots to prevent flare up from here on out.  
Alan nodded in understanding and pushed up to his feet. His eyebrow cocked when he noticed a look passed over Virgil’s face. He stepped closer in inquiry. “You get something?”
Virgil’s brows furrowed in concentration. “Not sure,  think I saw a blip over in the North East corner, back by the biochem labs.”
“We went through there though.”  His brother stated. “The area was clear.”
“We must have missed something.”  Grabbing his bag off the floor, he flung it over his shoulder.  “Better go back and check it out again. This place had a lot of staff and the numbers haven’t come in from the department supervisors yet.  We can’t be sure everyone got out.”  
Alan managed to just barely suppress a pout and Virgil bumped his shoulder brotherly as he stepped around him.  “Come on, Rocket Boy. Sooner we get this done the sooner you will be back home killing Zombies and scarfing down veggie sticks.” 
Virgil grinned as his brother grumbled out.  “It’s Rocket Man, thank you very much.”  
“Hey Squirt, when you can see over the dash of Two I’ll start referring to you as ‘Man’.. Until then,  your stuck.”  He dodges a swat from his baby brother.  Friendly ribbing aside they had a job to do but it helped relieve some of the stress. 
Back on task, they headed out back down the blackened corridor, ducking under hanging ceiling lights and stepped over fallen ceiling tiles and other assorted debris.  
The track back across the rat’s maze of hallways and cross corridors, through disengaged mag-locked doors and over a rather rickety catwalk that spanned  ash covered vats; their tops having blown off during the blaze, took far longer than Virgil would have liked.   
He knew they were running low on time with the GDF circling outside looking for answers and the local authorities eager to start their investigation into the cause of the fire Virgil needed to find a way to pick up their pace.  
Stopping to orient himself, Virgil check his wrist comm again. “This place is way too complicated for a private sector supplier.”   He said this offhandedly and wasn’t expecting a response back in kind from the blonde at his six.  He got one anyways. 
“Maybe it’s a top secret government think tank where they brew up all sorts of crazy potions for world domination.”
Virgil snorted and nodded off to the left. “Down here.” Flicking on his shoulder mount, the high powered beam lit up the windowless corridor.  “Ya right. Do you honestly think the Black Suits would let us in here if it were. Even with our affiliations with the GDF we would be lucky to get within ten miles of this place.”
“Cover up.”  Alan tossed out with a shrug. “Who really knows how these government spook organizations work.”
Virgil shook his head and turned down a short set of stairs and stopped abruptly at a large set of blast doors.  “You spend way too much time surfing the conspiracy sites.” 
“Everyone needs a hobby.” 
Rolling his eyes, he tapped his comm line open. “Scott, we got something.”  
“10-4.  Talk to me ”  
Virgil knew his brother was following their progress from his ‘bird along with John floating around up in space.  “Looks like another fire proof room but I can’t find it on the schematics.”  
John’s voice cut in with no preamble. “Those were the ones that were provided to the local planning board with the factories last retrofit.  They should be up to date.” 
“Well, from where I am standing,”  Virgil rapped a padded knuckle on the heavy door, “They are inaccurate and I can’t get a read on what’s on the other side. ”  
“One moment,”  John sounded a bit peeved.  Virgil knew he hated inaccuracy and the ineptitude of lazy people not doing their jobs, making stupid mistake drove him bat shit crazy. 
Virgil inspected the door and the surrounding area and pointed back down the corridor.   “Check around the corner and see if there is an electrical closet would ya? Or a service panel?  Door this big is magnetically sealed so a power relay is needed. ”  
“Like it would be on this side of it? Wouldn’t that defeat the purpose?”  Alan asked 
“If it’s not in use it will be powered from out here for maintenance purposes.  Once activated though its self sufficient and it disconnects from the external source for preventative reasons.”  Like opening up to a massive blaze or a toxic chemical spill. 
Alan zipped off around the corner, his comm line active so they could keep in communication with one another as per S.O.P when on site. 
“What do you think is in there?”  Alan’s voice sounded in his ear,  he was still close enough that it echoed a bit with a tiny time delay as it went through their secure network.
Virgil tweaked the volume and went back to inspection the door and the coded palm reader that was a charred mess to the right of it.   “First guess is it’s another fire room but considering its not on spec
who knows.” 
Scott’s voice chimed in,   “I’m done playing taxi.  Last patient has been dropped at the next closest hospital.  I’ll have a word with the CEO and Colonel Casey when I am back on site in ten.. Get us some answers as to what the hell is going on.” 
“Roger that.”    
Alan appeared back at his side.  “Nothing.”  
Virgil frowned at the door and ripped the charred panel from the wall to expose the mass of surprisingly undamaged wires behind it.  “This isn’t adding up..”  
Pulling out a network access key from his baldric,  Virgil started pulling wires.  “Hey Johnny,  I got a hack job for you if your done angrily tearing the local civil servants a new one.”
“Patch me in.”
“Yup, working on it now. “ Stripping a few wires, he tested to see if there was power to them and hooked them up to the small device. “You find the idiot that misfiled those docs?” 
“Not yet,”  Came the disgruntled sign of annoyance.  “Eos is working on it.”  
“Ouch.. that’s gonna hurt.” Virgil could hear the evil glee in the red heads voice and almost felt sorry for the poor bastard that was going to get steam rolled once he was found. 
The small device in his hand flared to life and just as suddenly the door before him hissed as the locking system released. “Wow, that was fast.”
“That wasn’t me.” 
Virgil blinked and locked eyes with Alan.  “Understood,  keep an eye on things for me would ya? We’re going in.”
“Be careful, Thunderbird Two. Picking up weird anomalies from the other side.”
“Roger, stand by.” 
It took both of them to pull the heavy door open, boots finding little purchase on the foam slicked floor.  Braced against the wall with one final heave the mighty steel portal swung up just wide enough for them to pass through one at a time.   Standing in the opening,  Virgil peered into the space beyond, eyes narrowing when a curious distortion caused the air to waver 
Virgil’s eyes widened as what he was seeing registered with the still smoldering remnants in the corridor.  He only had seconds to push Alan out of the way before all hell broke loose. 
The ensuing conflagration of heat knocked the breath from Virgil’s lungs as he was tossed like a rag doll through burning ozone.  The sudden and abrupt stop as his body met wall caused pain to burst across his whole nervous system and left him a whimpering heap on the floor.  
The world grayed out around the edges but one thing kept him just his side of blissful oblivion,  the thought of his little brother.   
By sheer force of will  he commanded his lungs to start working again and with a reserve of energy he didn’t know he had, he lifted his torso off the floor, stars flashing across his retinas.
Coughing,  he dragged himself across the floor ears straining against the buzz of a million bees as he called out for his sibling. His voice hoarse and tinny to his whirring ear drums.  
“Alan!! Thunderbird Two to anyone!”  He was panicking and he knew it wasn’t helping but he had to find his baby brother.  “Alan, god where are you?  Answer me”
The visibility was completely next to none existent as smoke billowed out from whatever the room behind the blast doors had been.   Flames scorching and white hot licked with renewed strength up the previously foamed walls with a growing intensity that he could feel through the protection of his fire gear and sweat trickled down the length of his spine.  He had to get them out of here. 
Oh god, where was his brother?
“Scott?  Scott, I can’t find Allie
”  Padding around on all fours as close to the ground as he could he reached out in every direction. Pushing singed debris and refuse out to the way as he search.
Coughing again, a fine spray of blood peppered across his visor but he wouldn’t give up, he couldn’t.  
The hand that landed suddenly on his shoulder had his heart stuttering to a stop in his throat. The flash of red and that grabbed at his helmet kick started it back over again.
“Allie, oh thank God.”  
“I’m okay but my comms are down. We gotta get out of here.”
Virgil nodded his agreement. Pushing up to a crouch, hell fire raining down around them, he look left and right to try and gauge the best direction to take. He gave his head a shake when the world greyed out around the edges of his vision and shot a hand out to brace himself against his brother’s shoulder.  
“You okay, Virg?”
An odd expression passed over Virgil’s face as time seemed to crawl to a stop. The flames of the fire all around them stilling, the heat fading away and an odd, surreal chill slowly encompassed his body, radiating up his torso and slowly suffusing his limbs. 
His thoughts grew distance as the center of the chill started to thaw with an excruciating burn and he looked down.  What the
?The echo of confusion cut off abruptly as his gloved hand came away dark and wet.
“Oh god. Virgil, hang on..”  Were the last words he heard before Earth reared up and hit him hard. 
oOo
Next part HERE
The Master List of prompts can be found HERE
22 notes · View notes
stonefreeak · 6 years ago
Note
Hey, checking in and decided to say thank you. The way you've written the Chancelor Obi Wan fic, in bits and pieces as people just ask you questions and you go with it. It has given me more motivation that I don't have to be so linear. That maybe a bullet fic or scene can be all I need to get down. I was also wondering if you use any special writing software, cause I use Scrivener and it really works for the writing in pieces method.
Aww, thank you so much! This is such a sweet thing to say. <3 I’m glad that you’ve gotten some confidence and motivation! Because it’s true, linearity is not always the best thing for a fic! Sometimes you NEED to be out of order ;)
As for writing software, no, not really. Though I have heard of Scrivener before. 
I do use this website called 4thewords.com which is a paid subscription, but it gives you 30 days free to test it out (I have a referral code if you want it: GOGLF87185  ) which has not only helped me start writing daily (since it tracks my writing, and lets me see stats of my writing) it also helps me be more organised. I also copy everything into google docs as well as download it to my computer to keep it safe.
Times before 4thewords were dark dark times, lmao 😂 I basically wrote CK straight into tumblr, and then I just copied what I wrote into the same damn google doc file. With just some empty paragraphs between them.
No really, I had everything saved in ORDER OF WHEN IT WAS POSTED rather than per the chronological fic order. That, I started keeping track of in ANOTHER separate google doc in which I just posted all the ficlets in the chronological order. I also used my lovely masterpost to help keep track of the ficlet order (these days it helps me keep track of when I last posted a ficlet here on tumblr).
Once I started writing in google docs and then post to tumblr... I had multiple writing docs in which I wrote on multiple ficlets at the same time, and they were separated by headlines which I jumped to through the outline function. Heck, I even had some non-CK fics in between there.
@veilofadyingstar, dear friend that she is, shamed me CONSTANTLY for my absolutely horrific handling of files.
Don’t be past-Stone, kids.
To return from my tangent: 4thewords has a bunch of fun functionality, and it gameifies the writing experience. Mostly what works for me is that it tracks my writing streak, which gives me juuuust enough external pressure to make me get off my butt and write daily.
With its help, I may just finish CK within the next 10 years 😂
22 notes · View notes
remotecareers · 4 years ago
Text
Support Services – Lean Coach – Remote
Support Services – Lean Coach – Remote
BCforward is currently seeking highly motivated Support Services – Lean Coach for an opportunity in Phoenix, AZ 85007
Job Title: Support Services – Lean Coach – Remote Job Duration: 6 Months contract – possibility for extension. Job Location: Phoenix, AZ 85007
Overall Purpose:
Working under the guidance of the OCI Administrator, this position will coordinate and coach members of DOR Divisions and Offices in support of AMS (Arizona Management System); specifically continuous improvement initiatives. These continuous improvement initiatives may include, but not be limited to, safety, quality, efficiency, cost, or productivity. This position will be expected to deliver value to both internal and external customers. This position will also be expected to develop the problem solving and process improvement knowledge of the team members to ensure ongoing sustainment of continuous improvement without the required knowledge of a consultant.
Key Responsibilities:
Work with DOR team members to identify areas for improvement of business processes using AMS tools and principles.
Coach the development and use of visual metrics to capture current performance, targets setting, and post countermeasure trends/status. (Visual performance management or VPM.)
Coordinate and coach process mapping with metrics (lead time, process time, % complete and accurate, etc.) to identify inefficiencies and areas for improvement. (Visual process adherence or VPA.)
Coach PDCA & root cause analysis problem solving (i.e., 5 Why, Fishbone, pareto) in conjunction with the standard DOR AMS tools (Countermeasure Worksheet and problem solving A3s).
Coordinate and coach team members to lead and participate in formal “Kaizen Events”.
Coach team members to develop and/or improve standard work (e.g., after process improvement initiatives).
Work with the Department of Revenue’s current OCI Coaches to develop their skills in the topics above.
Able to work with (or willing to learn to work with) the Google Suite of products – Sheets, Slides, Docs, Drawing, etc.
Be a champion for the full implementation of AMS and all of its elements.
Teamwork and Relationship Management
Support and openly communicate with Division and Office leaders & team members.
Support and openly communicate with the OCI Coaches.
Continuously show mutual respect, humbleness, and positive teamwork while coaching and reinforcing AMS and continuous improvement initiatives with all DOR members and other stakeholders (e.g., GTO).
Focus on building positive business relationships and credibility with both DOR Division/Office members and other stakeholders.
Always work within the framework and guidance provided by the OCI Administrator.
Interested candidates please send resume in Word format Please reference job code 151873 when responding to this ad.
The post Support Services – Lean Coach – Remote first appeared on Remote Careers.
from Remote Careers https://ift.tt/3I2lXca via IFTTT
0 notes
anupamagadde · 5 years ago
Text
JavaScript Functions
Functions are one of the fundamental building blocks in JavaScript. A function is a “sub-program” that can be called by code external or internal to the function to perform a task. A function is composed of a set of statements called the function body. Values can be passed to a function and a function can return a value. A function must be called (invoked) for it to perform the specified tasks. In JavaScript, functions are first-class objects, because they can have properties and methods just like any other object. 
Define a Function
There are several ways to define a function in JavaScript.
Function Declaration
    A function declaration begins with the keyword function and is followed by
·        the function name,
·        a list of parameters to the function, enclosed in parentheses and separated by commas,
·        the JavaScript statements that define the function, enclosed in curly brackets, {...} also called function body.
Tumblr media
Note: Function parameters are the names listed in the function's definition. Function arguments are the real values passed to the function. In the above code, a & b are the parameters whereas 60 & 120 are the arguments.
Function Expression
This form of defining a function does not require a name after the function and such a function can be called anonymous function as it does not have a name. Function are typically referenced through a variable:
Tumblr media
The function expression is almost identical to the function declaration except for the missing name and the semicolon at the end. Another difference is that function declarations are hoisted to the top of the context when the code is executed, whereas function expressions are not hoisted.
Note: Hoisting is the process of moving a value to the top of the code block where it is used, regardless of where it is defined.
So, you can define a function after it is used in code without causing an error. Here is an example:
Tumblr media
 Trying the same thing with function expressions will result in an error:
Tumblr media
Arrow Functions
Arrow functions are defined with a new syntax that uses an arrow (=>). The arrow comes after the list of parameters and is followed by the function’s body.
While they are like the function expressions, arrow functions have a few key differences:
If the arrow function is all on 1 line - an implicit return is added (you do not need the keyword return).
If the arrow function is on more than one line, {} must be used (just like a     regular function)
If the arrow function takes 1 argument, you do not need to     wrap that argument in parentheses (though for multiple arguments, you do)
Arrow functions are always anonymous
Tumblr media Tumblr media
An arrow function does not have its own “this”; the “this“ value of the enclosing execution context is used.
Example without the arrow function:
Tumblr media
In the above example, “this” is inside a declared object dog, but since the setTimeout() function is called at a later point in time, the keyword “this” does not refer to the parent object, it actually refers to the GLOBAL object which is the WINDOW object. Hence dog.sayHi() returned “Hi, I am  undefined”. We lost the context of the keyword “this” in this example.
Example with arrow function:
Tumblr media
In the above code,  the arrow function keeps its value from the enclosing context. , It will refer to the “dog object”, and calling dog.sayHi() will work as expected and return “Hi, I am Oscar”.
 Invoking a function
Defining a function does not execute it. Defining it simply names the function and specifies what to do when the function is called.
Invoking a function is to run the code inside the function’s body. To invoke a function, enter its name followed by parentheses  –  name().
Tumblr media
Function Return Values
All functions return a value, which can be specified by the return keyword. If no return value is specified, the function will return undefined.
Tumblr media Tumblr media
Summary
 A function is a “sub-program” that can be called by code external or internal to the function to perform a task
They are several ways to define a function : function declaration, function expression, using arrow syntax
 Function declarations are hoisted to the top of the context when the code is executed, whereas function expressions are not hoisted.
 All functions return a value, which can be specified by the return keyword. If no return value is specified, the function will return undefined.
Defining a function does not execute it. To execute a function, it must be invoked
 Any parameters a function needs are set when the function is defined whereas arguments are provided to the function, when in is invoked.
 Thanks for reading.
 References:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions
0 notes
t-baba · 5 years ago
Photo
Tumblr media
Why We Moved a 20-Year-Old Site to Gatsby
We knew we had a problem.
In 2019, SitePoint was getting Lighthouse Speed scores under 10 on mobile, and between 20 and 30 on desktop.
Our efforts to control UX bloat were failing in the wake of a publishing business environment that sprang new leaks just as we’d finished temporarily plugging the last one. Our reliance on advertising, controlled by external parties, was a major obstacle to improved site performance. Our traffic growth had turned into decline.
On a site that provided people with a place to come and learn to code with best practices, this was not a good look. And it wasn’t a site we could feel proud of, either.
To make matters worse, operational bottlenecks had arisen that made adaptation a tricky logistical business. Our team was struggling to make changes to the site: having focused on our Premium experience for several years, we were down to one developer with WordPress and PHP experience. To test out code changes, the team would have to wait in a queue to access our staging server.
It wasn’t energizing work for anyone, and it certainly wasn’t efficient.
It was time to make some changes, and we set out to look for a solution. After a lot of research, we decided that Gatsby would be a great fit for our team. It would play to our talent strengths, help us solve all of the issues we had identified, and allow us to keep using WordPress for the backend so the editorial process wouldn’t need to change.
Why We Moved to Gatsby
[caption id="attachment_176594" align="aligncenter" width="1522"] The end result.[/caption]
Early in the research process, Gatsby started to look like a serious frontrunner. SitePoint isn’t a small site, so we knew that the tech we chose had to be able to handle some pretty intense demands. Gatsby checked all of our boxes:
We could code everything in React, a tech that every member of the front-end team knows and uses daily.
Gatsby is super fast at its core — performance was at the heart of this project, and we could start from a good footing.
The entire site is rendered as static, which would be great for SEO.
We could build it as a new project, which meant no worrying about the existing codebase, which brought a huge amount of legacy code with it.
We could use Gatsby Cloud, allowing the team to get feedback on the build at any time just by pushing the branch to GitHub.
DDoS attacks on WordPress wouldn’t cause us issues, as the front-end is completely stand-alone.
More Maintainable CSS with styled-components
Since we were going to rebuild the site from scratch, we planned to make some design changes at the same time. To help with this work we decided to use styled-components.
styled-components keeps the site’s styling easy to maintain, and we know where to look when we want to change the style of something — the style is always with the component.
How We Made the Build Happen
We started by following Gatsby’s basic docs and pulling in our posts with the gatsby-source-wordpress plugin.
This was a big initial test for us: we had to see if it was even possible to use Gatsby for our site.
After 20 years of blogging, we have over 17,000 posts published. We knew the builds would take a long time, but we had to find out if Gatsby could deal with such a massive amount of content. As you’ve probably figured, the test delivered good news: Gatsby works.
A quick tip for other teams working with large sites: to make development a better experience, we used environment vars to prevent Gatsby from fetching all of the site’s posts in development. There’s nothing quite like a 60 minute hot reload to slow progress.
if (hasNextPage && process.env.NODE_ENV != "development") { return fetchPosts({ first: 100, after: endCursor }); }
From this point, we ran into some limitations with the WordPress source plugin. We couldn’t get all the data we needed, so we moved to the WordPress GraphQL plugin.
We use Yoast to set our metadata for SEO, and had to ensure we were pulling in the correct information. We were able to do this with WordPress GraphQL. By doing it this way, the content team could still edit metadata the same way, and the data would still be dynamic and fetched on each build.
During the build, we would have three or four people in the team working on parts of the new blog. In the past, if they wanted to get feedback they’d have to push to our staging server and make sure nobody was already using it.
We found that Gatsby Cloud was a great solution to this issue. Now when someone pushes to a branch in GitHub, it creates a build in Gatsby Cloud along with a preview link. Our developers could share this link and get immediate testing and feedback much more effectively than before.
This faster feedback cycle made it easy to have multiple people on the team working on the build and put an end to a major bottleneck.
Launch Day Fun
On the big day, we launched the new site and ran through our initial tests. The new blog was flying — every page load felt instant.
We ran into some problems on SitePoint Premium, which started running into slows and even crashes. The culprit was a new element on blog pages that pulled in the popular books people were currently reading. It would do this via a client-side API call, and it was too much for Premium to handle due to the amount of traffic we get on the blog side.
We quickly added some page caching to the API to temporarily solve the issues. We realized we were doing this wrong — we should have been sourcing this data at build time, so that the popular books are already loaded when we serve the page to the user.
This is the main mindset shift you need to make when using Gatsby: any data that you can get at build time should be fetched at build time. You should only use client-side API calls when you need live data.
Once we’d re-written the API call to happen during the build, the first load of a blog page was even quicker — and Premium stopped crashing.
What We Still Need to Solve
While it’s hard to overstate how much better our on-site experience is today, there are still a few pain points we need to solve.
If a new article is published, or if content is updated — as it is multiple times per day — we need to re-run the Gatsby build before these changes show up.
Our solution for that right now is a simple cron job that runs at pre-scheduled times over the course of a day. The long-term solution to this is to add a webhook to the WordPress publish and update button, so that a new build is triggered once pressed.
We also need to get incremental builds running. Right now, the entire site needs to be rebuilt each time, and given our content archive, this can take a while. Gatsby just introduced incremental builds as we went live, and we’re working on implementing this on our site. Once that’s set up our builds will be much faster if the only thing that has changed is content.
Our speed score is still not where we want it to be. While the site feels subjectively very fast, we are still not getting consistent scores in Lighthouse. We want to get both mobile and desktop into the green zone (scores of 90+) for optimal user experience and SEO.
Would We Do It Again?
A launch of this type would normally be a pretty nerve-wracking event, and take a lot of work from the team on launch day.
With Gatsby, our launch was really easy. We just had to move WordPress onto a new domain, and point sitepoint.com at the Gatsby version of the site.
Then we sat back and watched the numbers to see what happened to our traffic. Within a few days, the data was starting to come in and we were seeing a 15% increase in traffic. User engagement metrics were up across the board. And we hadn’t even removed our ads yet (which, you may have noticed, we’ve since done).
It’s not hard to figure out why the effects were so immediate. We had better SEO running on static HTML and CSS pages, and massive speed improvements made possibly by the move to Gatsby.
Since we made the move, we’ve increased our Lighthouse speed scores from 6-15 on mobile to the 50-60 range, and from the 30s on desktop into the 70s. We wanted to ensure speed remained top of mind with this change, so we’re using a great tool called Calibre that runs speed tests over a number of top pages each day and alerts us to the scores. We are using this tool to continue to improve our score, so I hope to have another article for you in three months when we get everything to stay in the 90+ range.
The team loves working in Gatsby. The blog codebase was something that nobody wanted to work on. Now, everyone wants to take those cards thanks to the great developer experience.
If you’ve been eyeing a move to Gatsby and wondering if it’s ready for prime time, take our advice — it’s worth the switch.
Continue reading Why We Moved a 20-Year-Old Site to Gatsby on SitePoint.
by Stuart Mitchell via SitePoint https://ift.tt/2O3eMp5
0 notes
tak4hir0 · 5 years ago
Link
Salesforce CLI continues to evolve as we add more features and commands that support Salesforce development. We’re excited to announce the next step in that evolution. Over the years we’ve kept open source software (OSS) in mind, as evidenced by several repositories we’ve already opened up to the community (I’ll cover these later). However, we’ve decided to commit to moving towards 100% OSS! While we open up the code base, we’ll also be refactoring where possible and re-organizing where those repositories, plug-ins, and issues live. Read on with me while I explain the steps we’re taking towards that goal and where we’re looking to go next. In this post I’m going to cover: Why we’re moving towards OSS What you have access to now Steps we’re currently taking Why go open source? While going 100% OSS has become a primary goal for the CLI team, OSS has been an integral part of Salesforce for quite a long time. You can read more about Salesforce’s commitment to OSS here. Also, here’s a great write up by Salesforce Principal Architect, Ian Varley on the subject: Salesforce Is Powered By Open Source. Open source has always been a part of the CLI conversation. In fact, we’ve already opened up a few repositories to the community as you’ll see later in this post. That being said, we were taking a piecemeal approach toward OSS and were deciding what to open up on a case-by-case basis. As the CLI continues to grow, we’re seeing more and more that going full OSS will actually help us solve or prevent some looming challenges: Keeping open and consistent lines of communication with our users Communicating to users what we’ve been working on and where we’re going Monitoring issues between internal and external channels can cause some bugs to be overlooked Finding enough bandwidth for the CLI team to work on “low priority” features that we recognize as being useful   Shifting our focus towards open sourcing the CLI rather than taking a piecemeal approach will help us more quickly mitigate some of these challenges. Here’s a more specific list of “Whys”:   Incorporate customer feedback at earlier steps in our process Build transparency and trust with our users Give the community an opportunity to dig into the code and understand how it works Open Salesforce CLI to pull requests and bug fixes from the community Leverage those contributions to free up the CLI team to focus on larger bugs and features Surface bugs and edge case issues much more rapidly than our current internal QA process allows Create a direct line of communication with our customers Ensure that our growing feature sets will continue moving in a direction that parallels the needs of our users What goes into the CLI? Let’s take a quick look under the hood. The CLI as it exists today is an amalgam of various plug-ins built on top of oclif. When you run sfdx plugins --core in your terminal, you’ll see an output that displays a list of those various plug-ins. We also utilize several oclif plug-ins to enhance the user experience, and we bring in others to do things like gather analytics or provide users with their own custom plug-in generator. One key Salesforce plug-in to take note of is salesforcedx. salesforcedx is the parent plug-in for multiple child plug-ins that provide many of the commands you use on a daily basis. Originally, the CLI was built from one of those “child” plug-ins: salesforce-alm . This is where the CLI began and quickly grew to over 170 commands with multiple internal teams currently contributing code. The bulk of the force commands still come from this one plug-in. As you can see, we’ve since grown beyond salesforce-alm and now host multiple packages all brought together to build the current version of the CLI. I’ll share more about salesforce-alm in a bit because it’s a big part of this effort. What you’ve got access to now While it may seem as though we’re unveiling a brand new OSS concept for the CLI, this really has been on our radar for some time. The real update is that we’re making OSS a top priority this year. We’ve recently released a “snapshot” of the salesforce-alm code as it exists today (see below). This will give you a glimpse into arguably the most important code base of the CLI. Not only that, we’ve already opened up several packages and libraries that you can start utilizing in your own projects:   https://github.com/forcedotcom/cli-packages https://github.com/forcedotcom/sfdx-core https://github.com/forcedotcom/salesforcedx-templates https://github.com/forcedotcom/sfdx-dev-packages https://github.com/forcedotcom/sfdx-plugin-generate https://github.com/forcedotcom/cli/issues – (Report issues with the CLI here)   You can bring many of these into your own projects now. Send up a PR or just play around with a few of the functions to gain insight into how they interact with the Salesforce API. You can also use them to help build your own CLI plug-in! The Snapshot We wanted to make it clear that open sourcing the CLI really is a priority for us. As a result, we’ve created a “snapshot” of the salesforce-alm to whet your appetite a bit. It’s a read-only picture of the code as it exists right now. No PRs or issues will be accepted on this repository. Eventually, you’ll have full access to run the various parts of code that make up the snapshot on your own machines. FYI, you can expect updates to the snapshot during each major release (3 times a year). A GitHub organization for Salesforce CLI Part of the re-organizing effort will be to create our own GitHub organization for the CLI. Once it’s up and running you’ll be able to keep an eye on the changes as we progress toward the goal of open source. One of the main reasons for this is simply because forcedotcom, where the current open source CLI repos live, has bloomed to such a size that it’s become rather difficult to discover new CLI specific repositories that you might want to work with, or where to file an issue. Having a single Salesforce CLI organization will be more manageable for the CLI team while providing a simpler way of discovering plug-ins or libraries users may want to leverage for their next project. However, we won’t be able to move over ALL the things just yet. For example, the issues repository will still be tied directly to forcedotcom. This is as a result of not being able to transfer ownership of the issues in GitHub at an organization level. We don’t want to lose that history or any outstanding bugs that we haven’t addressed yet. A single source for issues We’re consolidating our issues into one repository you may already be familiar with: https://github.com/forcedotcom/cli/. Instead of bouncing communications across multiple repositories and as a result potentially losing some in the shuffle, consolidating issues to one repository will help us ensure the team is staying on top of any major problems. As mentioned above, we won’t be able to bring this into the Salesforce CLI GitHub organization just yet. Regardless, consolidating issues to one repository will make it easier for the community to file issues against the CLI and keep track of them. Also, it will remain a searchable resource for community workarounds and previous fixes. If you see a repo that has issues turned off, this will be where you should go. Public roadmap, release notes and Github issues. Oh my! Using the existing issues-only repo that you already have access to, https://github.com/forcedotcom/cli/, we will also begin adding our release notes as well as a public roadmap so that you can keep track of where we’re going and any announcements that will be headed your way. This will increase our transparency and communication with our users. Next steps to open source Open source by default Moving forward we’ll be working with anyone who contributes to the code base to ensure that any new plug-ins will have open source as part of their Generally Availability (GA) timeline. That means that our users will not only be able to utilize these plug-ins and libraries in their own projects but they will also be able to submit PRs for features or bug fixes they’d like to see in place. While this will be treated as a mandate for our internal teams, there may be scenarios in which going full OSS simply won’t be an option. I’ll go over a few examples in the next section. Fortunately, you can be certain that these will be few and far between. Breaking up salesforce-alm As mentioned earlier, salesforce-alm is where it all began. Originally, we were considering breaking out bits and pieces of CLI functionality and open sourcing those as we went along while also sticking with a mono-repo structure. We’ve since settled on the idea that it will be more manageable to pull out sets of commands as their own individual plug-ins and in doing so, break up the mono-repo. Where before you would have seen salesforce-alm, after you’ll see multiple new plug-ins for each group of related commands: Before: After: Unfortunately, this isn’t going to happen overnight. The CLI team is committed to breaking out and open sourcing all of the commands that the team owns (we don’t own them all). Doing so will also allow us to refine that process and help us to advise other teams on the best path they can take towards open sourcing their own commands. Not only will we break out commands into their own plug-ins, we’ll also need to simultaneously refactor outdated code and design patterns. We’ll need to do things like clear the git history of any sensitive internal data, remove links to internal docs and configs, etc. We’ll also look toward removing or even rewriting some of those internal docs for public consumption. We need to clear up config files and first get approval for these changes with the multiple internal teams that contribute to our codebase. Those teams will have their own limitations on what will be ready for OSS, if at all. The list goes on and on. Needless to say, it will take a lot of effort but we’re committed to and excited about our move towards open sourcing Salesforce CLI! Recap Salesforce CLI has set a goal to go 100% OSS. We are breaking out the CLI commands into their own repos and open sourcing them as we go. This will take a fair amount of time and effort from our team but we’re already taking steps in that direction. We created a read-only snapshot of our salesforce-alm for you to take a look at here as further proof of our commitment to making the CLI open source. The snapshot will be updated 3 times a year. You have access to several OSS repositories related to the CLI right now. We’ll be working to make sure any new plug-ins have OSS as part of their GA timeline. Release notes, Roadmaps and Issues will remain here: https://github.com/forcedotcom/cli/ About the Author Ricardo Viera is an engineer on the Salesforce CLI team. Over the years he’s made several career shifts beginning in the world of 3d Animation then moving into UI/UX design and most recently making the jump into the world of software development. When not taking pictures of space with one of his 12 telescopes, you can find him on a driving range working on his golf swing or negotiating with his toddler to finish her dinner or she’ll get no dessert!
0 notes
nerdblogpl · 8 years ago
Text
Testing React components
If you're writing your front-ends in React, are you writing tests?
Testing is hard. We all know it. It's practically a separate skill that needs to be constantly trained and improved in addition to your usual programming abilities. That's why people find it scary, especially when they're coming from back-end environment. In this blog post I want to prove to you that testing your React frontend may actually be easy to set up and quite pleasant to do.
What this blog post does not touch is all the rules and best practices when testing. I'm afraid there are entire books dedicated to this topic and it takes years of practice to start noticing certain patterns on your own. I will, however, try to help you with beginning your journey.
Before we begin, let's discuss our tooling. We are going to use Jest as a platform. The biggest advantage of this one over other tools is that it's (almost) zero configuration - we can drop it into our project without extra complications and it will take care of configuring and compiling our tests with Babel for us. If you're using create-react-app, it's already added to the project so there's one less thing for you to worry about ;)
Other than Jest, I recommend amazing Sinon.js for all your stubbing, mocking and XHR faking needs and Enzyme for rendering your React components and poking them, checking how they work and why. The last ingredient of our secret testing sauce is enzyme-to-json - it facilitates seamless integration between Jest snapshot testing (more about that in a moment) and Enzyme.
Add all of these to your project and keep on reading:
yarn add --dev jest sinon enzyme enzyme-to-json
Different kinds of rendering
Before we start our test writing adventure, there's something you need to understand first. When we are testing our React components, we are not actually rendering them in the browser (OK, we do, but only in very specific kinds of tests). Often we don't even want to touch the DOM and generate HTML as it doesn't make sense and only makes our tests slower.
There are three ways we can render our components using Enzyme:
Shallow rendering
Shallow rendering is the kind of rendering that you want to use as often as possible. It takes your component and renders only the first layer, the native components (like <div></div>) and placeholders for other components with passed props but without actually rendering them (or running any lifecycle methods). It also doesn't touch DOM and opts for returning simple objects instead.
This is the best kind of rendering you want in your tests - it's fastest and it keeps your tests decoupled from their children components so if any of those children components break, rest of the tests are not making it harder to pinpoint the problem.
Since this kind of rendering does not generate DOM, it does not run all lifecycle methods so you don't have to worry about your componentDidMount crashing. This also means that if for some reason you're doing something other than additional manipulation of rendered output (for ex. fetching data in componentDidMount instead of componentWillMount), it will never get executed in your tests.
The entire API is available in documentation and you will probably want to keep this tab open until you're confident enough that you remember what you need from it.
Full rendering (mount)
If for some reason (for example: because you're testing a component that is wrapping external library, when you're testing browser events or when you want componentDidMount to run) you need to access to full DOM API, Enzyme has your back. Full rendering using mount() renders your component and all of its children while using JSDOM (browserless Javascript implementation of DOM) to make sure all those extra manual addEventListener work properly.
You might be inclined to use this as often as possible but unless you have a very good cause you should avoid doing full mount. It's much slower than shallow rendering and it introduces coupling between your parent component test and it's children. Imagine the situation where you always do a full mount and then introduce a bug in an <Icon/> component. Suddenly all your tests have crashed and it's much much harder to figure out where, when and why it happened.
The API is similar to shallow and it's also available in the documentation of Enzyme.
Static HTML rendering
This is the last kind of rendering. It uses ReactDOM static rendering underneath so it works like server-side rendering but the result is then wrapped in Cheerio.js library to make it easier to traverse and analyze the HTML result.
In this case only the example usage is in docs and you should consult cheerio documentation instead. I didn't feel the need yet to use this kind of testing but it might be useful in your particular case so it's good to know that you have this option.
Unwrapping components
One of the things that most people starting with testing components is tripping on are components that are wrapped in HOC (Higher-Order Component). If you're using something like Redux or MobX, you're probably used to exporting your component wrapped in either connect() or @inject. Those functions work by creating an extra component above yours that passes extra data with React contexts.
Unfortunately, this will cause a problem when using shallow rendering because it will only render an empty container and not the thing we want to test.
How can we avoid this problem? There are three ways:
Dive!
The solution most people try at first is to use .dive() to render one component deeper. Regrettably, this solution may be very confusing and throw hard to debug errors as it does not respect context being passed from the wrapping component. I would avoid this if possible.
Use escape hatches
I think almost every library I've seen so far has implemented some kind of escape hatch to give you access to the original component. The problem with this solution is that you always need to remember what the escape hatch was and in which order it should be applied. For example, if you use withRouter and inject on one component, you would have to unwrap it like this:
const TestedButton = Button.wrappedComponent.WrappedComponent
As you may imagine, this is not a perfect solution and it does not scale very well.
Export unwrapped component
My favorite method of dealing with this extra complexity is to export the component without any extra wrappers in addition to the one treated with inject, connect, withRouter etc.
The only real drawback is that we cannot use @decorators on entire class and we need to do the wrapping ourselves on export:
export MyComponent as UnwrappedMyComponent export default inject('store')(withRouter(MyComponent))
I do not believe this to be a huge hassle (the export is only a bit more verbose) and it allows us to test actual components, not coupling with the rest of the system.
All right, we have the theory, we have the links to documentation, we're ready to start writing tests.
But what exactly do we want to test? How do we want to do this? What kinds of tests are there?
Types of component tests
There are multiple naming conventions regarding tests so don't treat the following list as the one and only possible way of categorization.
Snapshot tests
These are the simplest to write tests that can be used for a quick (and brittle) way of having as much test coverage as possible. They work by serializing the result of rendering to a JSON file called snapshot and then, during future runs of the test, using it to compare with future render results to make sure they are unchanged.
import React from 'react' import { shallow } from 'enzyme' import toJson from 'enzyme-to-json' import { UnwrappedButton } from 'components/button' describe('Button', () => { it('matches the snapshot', () => { const component = shallow(<UnwrappedButton store={{ label: 'foo' }}/>) // this line is important expect(toJson(component)).toMatchSnapshot() }) })
I've mentioned that these tests are brittle. Because of the way they work, they are going to fail the moment anything in your component changes visually which means even fixing a typo or changing the className is going to break them. They are still very useful as a sanity check, especially when doing larger refactoring.
The other thing you need to be very careful about is that all props passed to your components will also be serialized. This means if you pass a huge object (like entire, non-mocked Store) during your tests, the resulting JSON might be huge which will make the test run (seemingly) forever - we had this problem where someone in a test passed a non-mocked store which kept an instance of HLS.js. The resulting JSON was 5 MB (!)
Rendering tests
Rendering tests are (in this case) tests that test... rendering. More specifically they're the more precise version of snapshot tests that render a component and then poke it around to check if props were passed correctly and all UI elements necessary were rendered and are available.
import React from 'react' import { shallow } from 'enzyme' import toJson from 'enzyme-to-json' import { UnwrappedButton } from 'components/button' describe('Button', () => { it('renders label', () => { const component = shallow(<UnwrappedButton store={{ label: 'foo' }}/>) expect(component.find('button').text()).toEqual('foo') }) })
They provide a better insight into what is happening inside the component which means they're more useful when working in teams - if someone needs to know how a component works they can just look at these and behaviour (more in a moment) tests and do an educated guess which is much harder in case of snapshots.
Behaviour tests
The most important of all tests and the ones that you absolutely have to write, even if you slack off and ignore all the other categories are behavior tests. They're the bread and butter of your application test suite - they test how your application behaves when user interactions happen.
const sandbox = sinon.createSandbox() describe('EmptyForm', () => { afterAll(() => sandbox.restore()) it('triggers form object onSuccess on submit', () => { const component = shallow(<EmptyForm/>) const instance = component.instance() const stub = sandbox.stub(instance.form, 'onSuccess') .returns(true) component.find('form').simulate('submit') expect(stub.calledOnce).toBe(true) }) })
Behaviour tests mostly simulate browser events and focus on checking if event handlers are attached properly. Side effects, like network requests, timers etc. should be mocked/stubbed to avoid test coupling.
There is an important caveat when writing behavior tests with Enzyme - you may think that .simulate() is simulating actual browser events but that is not entirely true. What it does is it finds the event handler and calls it, passing any extra data we provide to it. It does not support things like event bubbling or calling onChange when simulating keypresses. If you need any of those advanced features you need to code them yourself.
If it makes it easier to wrap your head around it, remember that those two are more or less equivalent:
component.simulate('change', { target: { value: 'abc' } }) component.prop('onChange')({ target: { value: 'abc' } })
Integration tests
Integration tests are testing communication between components. They are the ones that benefit most from the full mount as they need to actually run more than component in a nested tree and see how all parts fit in together. They are basically behavior tests but for groups of components.
describe('Article', () => { it('displays comments after clicking a show comments button', () => { const article = mount(<Article store={mockedStore}/>) article.find('ShowComments').simulate('click') expect(article.find('Comment').length).toBe(5) }) })
Most of the time every part of the integration test can also be written as a series of smaller behavior tests with behavior between them mocked. These tests should check if that mocked behavior is actually connected properly.
System tests
The last on our list are system tests. They are very similar to integration tests but instead of running in a simulated environment, they're are running in an actual browser. They are also, unfortunately, the slowest of the bunch so it's a good idea to separate them from your main test suite and launch for example only on CI server (instead of every time you change something).
import Nightmare from 'nightmare' describe('App', () => { it('renders the initial app', async () => { const nightmare = Nightmare() return nightmare .goto('http://localhost:4000') .type('#search_form_input_homepage', 'github nightmare') .click('#search_button_homepage') .wait('#r1-0 a.result__a') .evaluate(() => document.querySelector('#r1-0 a.result__a').href) .end() .then((link) => { expect(link).toBe('https://github.com/segmentio/nightmare') }) }) }); });
The system tests require an extra library that takes care of opening your application and passing your commands to the browser. The two that I found most interesting are Nightwatch.js that uses Selenium and Nightmare that runs on Electron. Historically Selenium was usually a bit tricky to properly configure but a lot has changed since PhantomJS got abandoned and Chrome headless became the new standard so your mileage may vary.
Configuring and running system tests can be complicated depending on the environment so I've released jest-str, a simple system test runner that contains preconfigured presets for popular boilerplates (at the moment of writing this blog post there are two - for create-react-app and razzle). If you want your favorite boilerplate to also get an official preset, feel free to send a PR :)
Great, we now know the different ways of testing components. If you've been careful with reading code examples, you probably get a general idea already of how we're doing it but let's get more specific.
Using Jest and Jest matchers
As you might've noticed already, Jest uses a spec-like syntax to define tests. They can be grouped using describe blocks for easier navigation, marking boundaries and behaviors being tested and for better error messages. The tests themselves are in it blocks and wrap tested values in expect().
There are 26 matchers which may seem overwhelming at first so when beginning your journey, focus on these 4:
toBe - checks for strict equality (===), useful for comparing numbers, true/false values, exact strings etc.
toEqual - performs deep value comparison, useful when checking for objects that have the same fields but are not necessarily the same object (ex. expect(myObj).toEqual({ foo: 1 }))
toThrow - checks if the function passed to expect() have thrown an exception (ex. expect(() => something()).toThrow(/fail/)), keep in mind to always create an anonymous function in expect() to avoid problems with scoping
toMatchSnapshot - used for snapshot testing
After your tests get more complex and you get the general gist of it, you will notice that you need more than what's above. It might be then very helpful to keep this documentation page around.
Using spies and stubs and sandboxes
Sinon.js gives us tools to observe the inner workings of our application and change it when necessary. Those tools are spies and stubs.
Spies
Spies are functions that keep track of how many times and with what arguments they were called. They can also be used as a wrapper around the original function and return its value. Spies are most useful for testing behaviors, for example, to check if the component has triggered an action in store.
I didn't want to artificially make this blog post longer so you should just check out the documentation to see exactly everything that's possible with them.
Stubs
Stubs are spies with controlled behavior. They include the same API as spies but they can also be used to return specific values, run their own fake function, call original function (or wrap it), throw errors, reject promises etc.
They are most useful when disabling parts of the application we do not want to test at the moment (XHR, complex operations, side effects etc) or when we want to make sure a certain path in code is being run (like making sure an if()somewhere gets true/false or when testing error handling).
Sandbox
Mocking functions inside stores is nice but what about test isolation? If we replace a method inside a pre-existing object with a stub, it may leak to the other tests, making them dependent on the order they were run. This is not an ideal scenario but fortunately, Sinon implements sandboxes.
A Sandbox is basically an orchestrating object that keeps track of all the spies and stubs and allows us to reset them after every call. It's usually set up like this:
const sandbox = sinon.createSandbox() describe('something', () => { afterEach(() => sandbox.restore()) // ... })
When using sandbox, remember to create spies and stubs using sandbox.spy() / sandbox.stub() instead of sinon.spy() and sinon.stub().
Stubbing network requests
There are multiple techniques to achieve that, depending on the library you're using for network requests.
If you're using something like $.ajax then check out Sinon's fake XHR server.
For axios you might be inclined to use moxios, the official testing library from the same author. I wouldn't recommend it as moxios is rarely updated and lacks some features that can be necessary for more complex flows. Personally, I use axios-mock-adapter as it has much better and more powerful API.
Finally, if you're using Fetch API, consider fetch-mock. It has a feature set similar to axios-mock-adapter. Keep in mind that fetch() is a browser API and you will a polyfill like isomorphic-fetch to make it work!
General guidelines on testing
There are a couple of things that you should remember during the tests. If you don't, you will trip and hurt yourself and drop testing front-ends again.
Avoid testing wrapped components. I mean it, always sure your components are unwrapped, otherwise, you will encounter a world of pain and arcane errors. This is where most of the people I've talked with bounced off testing altogether.
The only good moment to test wrapped components is during integration tests with full mount.
Mock your stores whenever possible. It's tempting to just instantiate your entire Store class in tests but it introduces tight coupling to the current state of your store and makes your tests both tightly coupled to it and, in case of complex apps, significantly slower.
Keep tests simple. You may be tempted to test for 10 different things in one test case (it will be faster!) but it will once again make your tests more brittle and prone to failing. It's better to have laser focus so every time your test suite fails, you have a clear message of what went wrong, where and why.
Group your tests. There's nothing worse than a huge file full of ungrouped, unordered tests. Be careful not to overdo it though, one or two levels of nesting are usually more than enough.
Keep your tests in one describe() block. It will make your life easier with before / after blocks, especially when it comes to sandboxing or stubbing requests.
And that's it! As you can see, testing your application components is not that hard and hopefully, you should have a better idea on where to begin now :)
Keep your code bugs free!
2 notes · View notes
bisbee83028580-blog · 6 years ago
Text
The Best eBook Software Creator content creator ebooks website
youtube
New Release Documents Layout The most up to date Sigil customer resource can easily always be actually downloaded from its personal repository . PGP Finger Print Sigil-1.0.0 Github Release webpage as well as downloads . Page Edit-1.0. is actually mainly a brand-new attributes launch to include the ability to develop links. added ability to place "i.d." attibutes right into current xhtml file added ability to place links to various other existing xhtml data (simply when opened along with OPF) added ability to place web links to existing pictures, sound, as well as video recording (available when opened along with OPF) changed Qt code to correct the profit after an h 6 heading pest whitespace is actually right now preserved in code tags The binary downloads (as well as resource) may be discovered as resources at the bottom of the Webpage Edit Github Release webpage . Page Edit-0.9.6 is actually mainly a bug-fix release. an installer for the Microsoft window platform properly take care of javascript location.href design web links try to protect against accidents when data deleted out of under Page Edit correct the longest usual path routine to in fact operate clear away the load content filter as it was not sustained collection nonpayment paragraph separator to 'p' not 'div' when modifying The binary downloads (as well as resource) may be discovered as resources at the bottom of the Webpage Edit Github Release webpage . Sigil-0.9.18 exemplifies a mix of new attributes as well as infection fixes. correct bug in macintosh Operating System that caused unwarranted precautions regarding missing out on file in the manifest ideally correct macintosh Operating System bug regarding releasing data using open-with from Desktop computer make certain JQuery obtains loaded just before beginning to use Examine javascript performs remedy neighborhood web links in the course of crack that incorrectly utilized target filename for interior hyperlink develop Get Environment Var to make access to setting variables much more cross-platform remedy macintosh Operating System bug when hitting close on the headline pub of Key Home window causing strange home window practices ideally correct macintosh Operating System segfault on close by disabling Examine cooking timer promptly correct Microsoft window 7 issues when operating batch (. bat) submits by means of Open Externally (available along with) all error information are actually right now properly logged remedy poorly handicapped open-with food selection in Picture Tabs popup context food selection cleared away usage of Qt outdated strategies in About as well as Inaccuracy Dialogs enable usage of SIGIL_DEBUG_LOGFILE setting var to control sparing debug outcome to a file properly upgrade the ncx after merging xhtml data properly notify consumers if a multiple performance epub (a number of OPF data) has actually been actually loaded make Sigil's external XHtml editor job to pass an OPF file (observe Page Edit new attributes) Enable epub 3 metadata editor to revise key meta tags Switch out buggy cssutils module utilized in plugins along with our personal drop-in substitute fork: css-parser Updated Macintosh, Microsoft Window, as well as Linux create documents Realize that Sigil-0.9.18 no more implements the requirement for epub 3 to have as well as assist an NCX for the purposes of backwards compatibility along with epub 2 analysis units.
content creator ebooks website https://pierce61716983.tumblr.com/post/189941976725/sqribble-review-childrens-ebook-creator Feel free to check out the Sigil Wiki for important Sigil help web links, additional source downloads, as well as platform-specific trouble-shooting tips/requirements. Macintosh consumers ought to still download as well as install Energetic Condition's Energetic Tcl Community Version to make use of plugins that use Tk/Tcl GUIs. More right here . Macintosh consumers ought to additionally have a look at the wiki entry on the New Release Documents Layout The most up to date Sigil customer resource can easily always be actually downloaded from its personal repository . Page Edit-0.9.5 is actually is actually mainly a brand-new attributes release. One of the significant new attributes of this particular release is actually the ability to pass all xhtml data in the vertebrae in Analysis Order to Page Edit by means of opening the OPF. Make certain to have a look at the New Quality Synopsis as well as the New Quality Online video in the downloads segment of the Github release webpage.
content creator ebooks website https://drive.google.com/drive/folders/1gBa5xBTJt3sHk1Bz1jM2R68ksml03B8s
Enable quick file navigating by means of navigating food selection as well as nextand previous arrowheads keys. include a Edit vs Examine setting button image that will certainly make it possible for web links with xhtmls data in the spineto be actually active as well as job (in Mode: Examine) put up a Qt Message trainer to develop a debug log file handled by means of a PAGEEDIT_DEBUG_LOGFILE environment setup, to simplify customer pest issue feedback remedy macintosh Operating System certain launch bugs as a result of to pest in approved data as well as time of Apple events bring in sure j Inquiry is actually loaded just before making an effort to adjust a file by imporving web load pattern use Get Environment Var to evenly accessibility Environment Vars in a cross platform fashion disable prev as well as next navigating buttons when just one input xhtml file exists For the impatient, the binary data (as well as resource) may be discovered as resources at the bottom of the Webpage Edit Github Release webpage . The significant new attributes consist of the addition of Find as well as Spellchecking. Moreover, the customer right now can easily specify Preferences to find out how they wish to take care of how Page Edit handles series of whitespace by either shooting non-breaking spaces (the nonpayment) or setting designs to use white-space: pre-wap. Moreover by setting the setting variable "PAGEEDIT_ENABLE_WORD_PASTE_CLEANUP" to 1 will certainly enable additional clean-up code in the course of Save that will certainly clear away considerably of the cruft remaining when pasting formatted content from Microsoft Phrase right into Webpage Edit. Here is actually a much more comprehensive checklist of the improvements: include customer choices to control usage of white-space: pre-wrap vs nbsp chars include customer choices to specify spellchecking thesaurus include Spell Inspect ability for QWeb Engine Dictionaries(. bdic changed variation of Hunspell dictionaries) include Find ability (no replace only as in Manual View) make it possible for clean-up after mix from Phrase in the course of Save usingenvironment variable: PAGEEDIT_ENABLE_WORD_PASTE_CLEANUPNote: risky given that it removes design tags that reside in the physical body as well as all xhtml remarks clear away unwarranted newlines in administered customer stylesheets as well as controls (Many thanks Becky DTP!) in fact compare resource to recognize all improvements correct macintosh Operating System certain pest that allowed a number of Dockwidget Key Microsoft window to end up being tabs For the impatient, the installer data (as well as resource) may be discovered as resources at the bottom of the Sigil Github Release webpage . remedy missing out on python 3 system certifications on macintosh Operating System do not apply called entities in Preserve Entities to epub 3 epubs correct create docs for macintosh Operating System protect against Circulation Button destructor ethnicity accident when opening a brand-new publication (Linux, Mac Computer, Microsoft window) remedy pointers for built-in en_US thesaurus by including "x" to the GO checklist remedy plugins including as well as erasing ncx under epub 3 throw exception in plugins when epub 2 attempts to include or remove the ncx remedy negative Caution message regarding missing out on nav.xhtml file that was not missing out on remedy Regulation View to Preview sync wreckage as a result of to minimize/restore remedy Regulation View to Preview sync wreckage as a result of to seeking to load the Examine just before itfinished packing the last upgrade remedy sigil_bs 4 to operate along with latest python lxml 4.4.X in a back compatible fashion remedy missing out on Examine to Regulation View sync on Qt versions 5.9.X as well as 5.10.X remedy segfault on app close related to the Examine Home window upgrade cooking timer shooting at a hard time remedy Regulation View to Preview syncing loss triggered by unwarranted load completed signals correct macintosh Operating System certain pest that allowed a number of Key Microsoft window to end up being tabs include a python 3 plugin module navprocessor.py for plugin devs show Examine by nonpayment (tabified along with TOC) for new setups of Sigil Realize that Sigil-0.9.17 no more implements the requirement for epub 3 to have as well as assist an NCX for the purposes of backwards compatibility along with epub 2 analysis units. https://martin95621734.tumblr.com/post/189943072747/the-best-ebook-software-creator-chrome-extension
0 notes
robertbryantblog · 6 years ago
Text
Where Is Cheap Rent In London
Will Vps Trial Guide
Will Vps Trial Guide Won’t be replied until the experts for those who call the vps region? Choosing dedicated server is always a aspect from external 4. In case your task on the free plan, high-speed computer servers and internet and call center solutions vendor alliance prior so that you can wav automagically. Freepbx by default group name sql server mssqlserver there’re two items with red color in here diagram. If you recognize you’ll wish to set up digital box or define its meaning. You don’t ought to tweak your server side page’s method in java web provider using axis2 educational. However, the working platforms home windows within the linux working system, the content owner has the main page of the web page, adding photos and html files.
What Htaccess Rewritebase Kotlin
Increases the sales and profits or the inability to avoid the complexity of dom doc object model. Both strategies are locked away until you add the essential dns entries. Customer 3 prior to abc’s year-end data file. They may cause replication to brake or something as simple as clicking the community access method, frame format, by means a 1-click scanning networks and methods for evident invaders, hackers, spammers and other systems but windows is not. What you get with these server platform and hardware requirements then a committed server takes up is overly large. The billing touch is the person, place, or product. As most popular web internet hosting services. Where can one find cheap web domain internet hosting? What is dedicated server cooling towers outcomes in try and out perform their sites, the aspect of web hosting services providers. The service where you simply pay as their story above will revert to the “off” state every time the users click the laptop code for figuring it.
Who Htaccess Checker Live Or Dead
Application performances.BY getting the services are offered free, upon becoming a member of any systems which will take part in this roaming group to bypass redundant steps but center around addressing internal issues in preference to allowing transactions within the vc server. Q must the cable modem. Colo4dallas technicians used the linux calc to try this with off-topic or provocative messages designed to get knowledgeable php web advancement company oversells the distance on its great aid and low-priced price. A excellent dedicated server internet hosting from here assets top 7 tips for erp integration.
Web Hosting Php And Mysql
Done unlike most free sms and text mail out of your website is new. You can recall to mind, but if you’re at ease with the fundamentals, you aren’t restrained to bandwidth, and support and reliability. On top of that the purposes you may have on the term and stipulations for which one can access the portal. Sla philosophy the most effective slas are setup to permit both as one and an analogous. Overall i liked the hotel but for some reason this area be sure that the user interface became painfully apparent. I.
The post Where Is Cheap Rent In London appeared first on Quick Click Hosting.
from Quick Click Hosting https://quickclickhosting.com/where-is-cheap-rent-in-london-3/
0 notes
quickclickhosting · 6 years ago
Text
Where Is Cheap Rent In London
Will Vps Trial Guide
Will Vps Trial Guide Won’t be replied until the experts for those who call the vps region? Choosing dedicated server is always a aspect from external 4. In case your task on the free plan, high-speed computer servers and internet and call center solutions vendor alliance prior so that you can wav automagically. Freepbx by default group name sql server mssqlserver there’re two items with red color in here diagram. If you recognize you’ll wish to set up digital box or define its meaning. You don’t ought to tweak your server side page’s method in java web provider using axis2 educational. However, the working platforms home windows within the linux working system, the content owner has the main page of the web page, adding photos and html files.
What Htaccess Rewritebase Kotlin
Increases the sales and profits or the inability to avoid the complexity of dom doc object model. Both strategies are locked away until you add the essential dns entries. Customer 3 prior to abc’s year-end data file. They may cause replication to brake or something as simple as clicking the community access method, frame format, by means a 1-click scanning networks and methods for evident invaders, hackers, spammers and other systems but windows is not. What you get with these server platform and hardware requirements then a committed server takes up is overly large. The billing touch is the person, place, or product. As most popular web internet hosting services. Where can one find cheap web domain internet hosting? What is dedicated server cooling towers outcomes in try and out perform their sites, the aspect of web hosting services providers. The service where you simply pay as their story above will revert to the “off” state every time the users click the laptop code for figuring it.
Who Htaccess Checker Live Or Dead
Application performances.BY getting the services are offered free, upon becoming a member of any systems which will take part in this roaming group to bypass redundant steps but center around addressing internal issues in preference to allowing transactions within the vc server. Q must the cable modem. Colo4dallas technicians used the linux calc to try this with off-topic or provocative messages designed to get knowledgeable php web advancement company oversells the distance on its great aid and low-priced price. A excellent dedicated server internet hosting from here assets top 7 tips for erp integration.
Web Hosting Php And Mysql
Done unlike most free sms and text mail out of your website is new. You can recall to mind, but if you’re at ease with the fundamentals, you aren’t restrained to bandwidth, and support and reliability. On top of that the purposes you may have on the term and stipulations for which one can access the portal. Sla philosophy the most effective slas are setup to permit both as one and an analogous. Overall i liked the hotel but for some reason this area be sure that the user interface became painfully apparent. I.
The post Where Is Cheap Rent In London appeared first on Quick Click Hosting.
from Quick Click Hosting https://ift.tt/2pgslc5 via IFTTT
0 notes
rodrigueztha · 7 years ago
Text
Pressing questions about Gutenberg: the new editor in WordPress 5.0
Next week, we’ll see the release of WordPress 5.0. With it comes one of the most talked about — and divisive — new features ever: a brand-new editor, the one we currently know as Gutenberg. Gutenberg is not just a simple refresh of the interface, no, it is an entirely re-imagined editor with a new concept. Blocks will be your best friends from now on. Here, we’ll answer a couple of burning questions about the new WordPress editor.
A little refresher: What is Gutenberg?
When will WordPress 5.0 arrive?
Will my site break when I update to WordPress 5.0?
I want to test Gutenberg and WordPress 5.0, but how do I do that?
I’m a bit hesitant to update to WordPress 5.0, can I wait?
I’ve heard people describe Gutenberg as a page builder, is that true?
What are these blocks all about?
What will happen to my existing content?
What’s the best way to learn the new editor in WordPress 5.0?
What will happen to my shortcodes?
Will Gutenberg work with the plugins I use?
Will Gutenberg work with my theme?
Will Gutenberg hurt my rankings?
Does Gutenberg have any other implications for SEO?
Can I use Gutenberg with assistive technologies?
I can’t cope with this change! Why can’t everything stay the same?
Please tell me your favorite time-saving tip!
A little refresher: What is Gutenberg?
Gutenberg is a new, cutting-edge editor in WordPress. It uses the concept of blocks to offer a more visual way of organizing your content. These blocks are like LEGO blocks, and because they are standardized, every block works the same way. Pick the one you like to add to your content, fill in the necessary contents and move on to the next block. This process is easy to understand — no longer do you need shortcodes, custom fields or external code to get something done. Almost everything is available as a block — and if not, it will arrive soon.
This new editor comes at a time when WordPress is the most prominent CMS out there. WordPress powers over 30% of the web and the adoption is still growing. Competition, however, is getting fiercer. The growth of sitebuilder tools like Squarespace and Wix is explosive. WordPress needs to stay ahead of the pack, but to do that it requires a drastic technological overhaul. WordPress 5.0 and the Gutenberg editor bring not only an updated editing environment, but also a rebuilt foundation that will support many more revolutionary developments. For more information, please read the official Gutenberg Handbook to learn all about the how and why of the new WordPress editor.
When will WordPress 5.0 arrive?
WordPress 5.0 is scheduled to arrive on Tuesday, November 27, 2018. There’s still a possibility that it will be delayed until after the holidays, which means we’ll see it arrive sometime in January. Time is short, which means you need to get busy getting ready.
Will my site break when I update to WordPress 5.0?
There’s always a possibility of that happening, but the WordPress core team does its utmost best to prevent this. WordPress 5.0 is a major release, and you shouldn’t forget that an average site is made up of many moving parts — themes, plugins, meta boxes, custom code, etc. There are thousands and thousands of themes and plugins, and not everything works well together — a crooked combination of those could very well cause your site to crash. So, before you upgrade to WordPress 5.0 and activate the new editor, you should have thoroughly tested your configuration for faults.
Will Yoast SEO continue to work?
Absolutely, we’ve been supporting Gutenberg for some time now. Our first Gutenberg-proof release was Yoast SEO 8.0, and we’ve improved support up to our most recent release, Yoast SEO 9.2. We’ve introduced a special Gutenberg sidebar to make it easier to work with Yoast SEO inside the new editor. Also, we added structured data content blocks for two schema’s: how-to and FAQ. You can now add valid structured data to your post by simply selecting a block and filling out the fields. But that’s not all; this new WordPress editor lets us do all kinds of cool stuff en we’re currently exploring several exciting options. Stay tuned!
I want to test Gutenberg and WordPress 5.0, but how do I do that?
Testing doesn’t have to be hard — for most sites, you don’t need a full-fledged staging environment. Here’s a very concise guide to help you start testing right away — even if you want to test current and upcoming release candidates:
Install a local server like DesktopServer or Local by Flywheel
Install a backup plugin on your site, like Duplicator
Run a full backup of your site, including themes, etc.
Migrate the Duplicator package to your new test site
Install the WordPress Beta Tester plugin
Select which type of beta you want to install in Tools > Beta Testing
Install the latest WordPress update
Another viable option to quickly get a copy of your site working is the WP-Staging plugin. Whichever route you take, you should have a mirror image of your site, and that should be enough to test WordPress 5.0 and Gutenberg on. After this process, check everything — your content, themes, performance, everything. Install the Health Check plugin to help find any problems. And, above all, ALWAYS back up your site before doing anything drastic.
I’m a bit hesitant to update to WordPress 5.0, can I wait?
Sure! You can wait it out for a bit to see what happens. Some people rather sit on a release and update only when a supporting release becomes available. There’s no need to immediately hit that update button, especially during the busy holiday season. Or, if you do want WordPress 5.0, but not the new editor, you could always install the Classic Editor plugin and run the update once you’re sure nothing breaks. The Classic Editor plugin will receive support until December 31, 2021.
I’ve heard people describe Gutenberg as a page builder, is that true?
There’s a big misunderstanding about this, but, no, Gutenberg is not a page builder — not yet at least. The new WordPress editor is also not a front-end editor. As it stands now, it is a content editor. Gutenberg introduces the blocks concept and makes it easy for you to get the most out of your content.
While the new WordPress editor makes it a lot easier to visually build a page, it won’t let you enter the territory operated by Elementor or Beaver Builder. Keep in mind that this is only the first stage of the Gutenberg project. Initially, we’ll get a revamped editor with a drastically modernized core. After that, we’ll enter stage 2 in which we’ll see a move from post to page templates. Ultimately, in stage 3, Gutenberg will evolve into full site customization.
Remember, customization is the primary goal of Gutenberg — design not so much. It will take a long time before Gutenberg will make page builders obsolete, if ever! Gutenberg was not built to put page builders out of business. On the contrary, the new editor provides a solid foundation for page builders to build on using modern technologies and a shared concept. In the end, this will improve both page builders as well as WordPress itself.
What are these blocks all about?
Blocks are the core concept of the new WordPress editor. Everything we needed an editor, shortcodes, meta boxes, custom post types or widgets for, you can build with the universal concept of blocks. As we’ve said before, you can think of blocks as LEGO bricks — pick the pieces you need from the pile and build until your work is done. Blocks are consistent, findable, dynamic, easy to understand and a breeze to work with. Rearranging the blocks is simple — use the move arrows on the left side of the block, or drag and drop them. Blocks are also individual pieces of content that contain all the metadata in a simple package. If you want, you can save blocks as a reusable block to use elsewhere, thus saving you loads of time.
What will happen to my existing content?
Your content will still be there, of course, and everything will probably be fine. Old content lives in the so-called classic format; this is a big blob of text instead of the blocks you’ll get when you make a new post. Of course, you can convert your existing content to blocks whenever you want. Open the post, click inside the classic block, click on the three little dots next to the text field and select Convert to Blocks. Most content should be converted without issue.
Convert classic format text convert to Gutenberg blocks
Existing and old posts probably won’t automatically convert to using Gutenberg blocks — and automated conversion processes won’t necessarily do a great job of presenting the page. At some point, website managers might need to go need back through everything they’ve written and ‘upgrade’ that content if they want those posts to remain competitive.
If you don’t want to convert your content to blocks, you can always continue to use the classic editor inside the old content. There’s an embedded version of the old editor, and you can continue to edit the old post right inside Gutenberg. If you want, you can even add a Classic block and continue to work a bit like the old days. But if you really want to kick Gutenberg to the curb, you might be better off installing the Classic Editor plugin.
What’s the best way to learn the new editor in WordPress 5.0?
Our SEO wizard Jono Alderson has some great tips:
“It’s not enough to just write anymore. Many people prefer to write their content in external systems (Google Docs, Word, Notepad, etc), because historically, that’s been a cleaner/easier environment than writing directly in the WordPress editor. However, to take advantage of Gutenberg, you really need to be writing in it as you construct the page. Really taking advantage of the system requires that you think about the structure of your content, the layout, the block types, and their formatting. That’s a much more involved and conscious process, which people will need to plan and prepare for.”
What will happen to my shortcodes?
Shortcodes are used for loads of reasons, so it was a priority for the Gutenberg team to make sure that everything continues to work as it should. Shortcodes will live on in separate shortcode blocks, and you can keep using them as you did before. Eventually, you’re better off turning these shortcodes into blocks. This way, your shortcode content becomes visual content, and you can see what happens when you add it to a post. No need to keep clicking that Preview button to see how it looks on the front end. What’s more, shortcodes become part of the consistent Gutenberg language and will be a lot easier to understand for everyone.
Will Gutenberg work with the plugins I use?
The WordPress ecosystem prides itself on its extensibility — you can find loads and loads of plugins for every task imaginable. This comes with a cost though, as it is impossible to test every combination of these plugins to find problems. So, it’s hard to say if the plugins you use will continue to work like before. Not only does that depend on your configuration, but also on the willingness of the plugin developer to keep the plugin updated.
Will Gutenberg work with my theme?
WordPress 5.0 should work fine with any theme, but it could be that theme builders still need to build in Gutenberg-specific features like block styling and full-width images. The same goes for page builders; there’s a chance that your custom work needs some fine-tuning. As we’ve said before, test everything before updating your live site.
Will Gutenberg hurt my rankings?
Rest assured, Gutenberg will not kill your rankings. You do, however, need to take care when updating. If for some reason, your site has a lot of errors after updating and you’re not quick to fix them, search engines might see this a sign of bad maintenance and take that into account when evaluating your rankings. This is another reason why you should test everything thoroughly before hitting that Update button on your live site!
Does Gutenberg have any other implications for SEO?
A potential worry we have is one of site speed — and we all know site speed influences SEO. Currently, Gutenberg adds a bit of overhead to your site that might have an impact on loading speed. Adding this across the board for a load of sites might make a whole piece of the web somewhat slower. While it is unclear what the effect of this might be, we know search engines prefer fast sites, so we hope this issue will be solved.
Plugins for Gutenberg might pose a risk, says Jono:
“Plugins are going to start adding support for all sorts of different types of blocks. Some of them are going to make a mess. We’re anticipating plugins which add blocks which make sites slow, add messy inline code, cause conflicts, and duplicate functionality – people will need to be careful when they consider which plugins they use!”
On the other hand, Gutenberg produces very nice, clean HTML compared to real site builders. Not to mention the elegant way we can now work with structured data, as we do with our Yoast SEO structured data content blocks. Gutenberg also gives us a lot of tools to improve the way we work with content.
Can I use Gutenberg with assistive technologies?
There’s been a big discussion about the accessibility of Gutenberg. While the Gutenberg team said from the start “accessibility was not an afterthought,” it does feel like it was. Several members of the accessibility team even resigned because of the sad state of affairs. So, to answer the question is Gutenberg accessible? No, not fully. It will take a while before that will happen, if ever. It’s not a perfect situation, but there’s always the Classic Editor plugin as an ultimate fallback. Gutenberg is in development for nearly two years and, to keep momentum, it has to be rolled out sooner, rather than later. In that regard, accessibility experts have shared a lot of grievances over Gutenberg, but, looking back, might not have contributed enough to fix or prevent those issues.
I can’t cope with this change! Why can’t everything stay the same?
We can understand the frustration, but to stay ahead and to evolve, WordPress needs to keep moving. While the process leading up to Gutenberg might not have been the prettiest, everyone felt the old editor was long in the tooth and in drastic need of an update. But the beauty of this new editor is that it not only transports it to the 21st century but that it has the potential to jump some light years ahead! Much of what we’ve been dreaming of will become possible.
But of course, we all need time to adjust to it. We’ve been using the classic editor for many years and built up a lot of muscle memory. That’s why Jono’s suggestion is so good: work inside the editor, get accustomed to it so you can unlock the full potential of it!
Please tell me your favorite time-saving tip!
Ok, one of the things I find myself using a lot in WordPress 5.0 is the / shortcut. Type this in an empty block, followed by the first letters of the block you want and you will be instantly presented with the block you’re looking for. You can use this for everything! Try it; it’s awesome.
Read more: What is Gutenberg? »
The post Pressing questions about Gutenberg: the new editor in WordPress 5.0 appeared first on Yoast.
https://ift.tt/2DO9M4z
0 notes
evanstheodoredqe · 7 years ago
Text
Pressing questions about Gutenberg: the new editor in WordPress 5.0
Next week, we’ll see the release of WordPress 5.0. With it comes one of the most talked about — and divisive — new features ever: a brand-new editor, the one we currently know as Gutenberg. Gutenberg is not just a simple refresh of the interface, no, it is an entirely re-imagined editor with a new concept. Blocks will be your best friends from now on. Here, we’ll answer a couple of burning questions about the new WordPress editor.
A little refresher: What is Gutenberg?
When will WordPress 5.0 arrive?
Will my site break when I update to WordPress 5.0?
I want to test Gutenberg and WordPress 5.0, but how do I do that?
I’m a bit hesitant to update to WordPress 5.0, can I wait?
I’ve heard people describe Gutenberg as a page builder, is that true?
What are these blocks all about?
What will happen to my existing content?
What’s the best way to learn the new editor in WordPress 5.0?
What will happen to my shortcodes?
Will Gutenberg work with the plugins I use?
Will Gutenberg work with my theme?
Will Gutenberg hurt my rankings?
Does Gutenberg have any other implications for SEO?
Can I use Gutenberg with assistive technologies?
I can’t cope with this change! Why can’t everything stay the same?
Please tell me your favorite time-saving tip!
A little refresher: What is Gutenberg?
Gutenberg is a new, cutting-edge editor in WordPress. It uses the concept of blocks to offer a more visual way of organizing your content. These blocks are like LEGO blocks, and because they are standardized, every block works the same way. Pick the one you like to add to your content, fill in the necessary contents and move on to the next block. This process is easy to understand — no longer do you need shortcodes, custom fields or external code to get something done. Almost everything is available as a block — and if not, it will arrive soon.
This new editor comes at a time when WordPress is the most prominent CMS out there. WordPress powers over 30% of the web and the adoption is still growing. Competition, however, is getting fiercer. The growth of sitebuilder tools like Squarespace and Wix is explosive. WordPress needs to stay ahead of the pack, but to do that it requires a drastic technological overhaul. WordPress 5.0 and the Gutenberg editor bring not only an updated editing environment, but also a rebuilt foundation that will support many more revolutionary developments. For more information, please read the official Gutenberg Handbook to learn all about the how and why of the new WordPress editor.
When will WordPress 5.0 arrive?
WordPress 5.0 is scheduled to arrive on Tuesday, November 27, 2018. There’s still a possibility that it will be delayed until after the holidays, which means we’ll see it arrive sometime in January. Time is short, which means you need to get busy getting ready.
Will my site break when I update to WordPress 5.0?
There’s always a possibility of that happening, but the WordPress core team does its utmost best to prevent this. WordPress 5.0 is a major release, and you shouldn’t forget that an average site is made up of many moving parts — themes, plugins, meta boxes, custom code, etc. There are thousands and thousands of themes and plugins, and not everything works well together — a crooked combination of those could very well cause your site to crash. So, before you upgrade to WordPress 5.0 and activate the new editor, you should have thoroughly tested your configuration for faults.
Will Yoast SEO continue to work?
Absolutely, we’ve been supporting Gutenberg for some time now. Our first Gutenberg-proof release was Yoast SEO 8.0, and we’ve improved support up to our most recent release, Yoast SEO 9.2. We’ve introduced a special Gutenberg sidebar to make it easier to work with Yoast SEO inside the new editor. Also, we added structured data content blocks for two schema’s: how-to and FAQ. You can now add valid structured data to your post by simply selecting a block and filling out the fields. But that’s not all; this new WordPress editor lets us do all kinds of cool stuff en we’re currently exploring several exciting options. Stay tuned!
I want to test Gutenberg and WordPress 5.0, but how do I do that?
Testing doesn’t have to be hard — for most sites, you don’t need a full-fledged staging environment. Here’s a very concise guide to help you start testing right away — even if you want to test current and upcoming release candidates:
Install a local server like DesktopServer or Local by Flywheel
Install a backup plugin on your site, like Duplicator
Run a full backup of your site, including themes, etc.
Migrate the Duplicator package to your new test site
Install the WordPress Beta Tester plugin
Select which type of beta you want to install in Tools > Beta Testing
Install the latest WordPress update
Another viable option to quickly get a copy of your site working is the WP-Staging plugin. Whichever route you take, you should have a mirror image of your site, and that should be enough to test WordPress 5.0 and Gutenberg on. After this process, check everything — your content, themes, performance, everything. Install the Health Check plugin to help find any problems. And, above all, ALWAYS back up your site before doing anything drastic.
I’m a bit hesitant to update to WordPress 5.0, can I wait?
Sure! You can wait it out for a bit to see what happens. Some people rather sit on a release and update only when a supporting release becomes available. There’s no need to immediately hit that update button, especially during the busy holiday season. Or, if you do want WordPress 5.0, but not the new editor, you could always install the Classic Editor plugin and run the update once you’re sure nothing breaks. The Classic Editor plugin will receive support until December 31, 2021.
I’ve heard people describe Gutenberg as a page builder, is that true?
There’s a big misunderstanding about this, but, no, Gutenberg is not a page builder — not yet at least. The new WordPress editor is also not a front-end editor. As it stands now, it is a content editor. Gutenberg introduces the blocks concept and makes it easy for you to get the most out of your content.
While the new WordPress editor makes it a lot easier to visually build a page, it won’t let you enter the territory operated by Elementor or Beaver Builder. Keep in mind that this is only the first stage of the Gutenberg project. Initially, we’ll get a revamped editor with a drastically modernized core. After that, we’ll enter stage 2 in which we’ll see a move from post to page templates. Ultimately, in stage 3, Gutenberg will evolve into full site customization.
Remember, customization is the primary goal of Gutenberg — design not so much. It will take a long time before Gutenberg will make page builders obsolete, if ever! Gutenberg was not built to put page builders out of business. On the contrary, the new editor provides a solid foundation for page builders to build on using modern technologies and a shared concept. In the end, this will improve both page builders as well as WordPress itself.
What are these blocks all about?
Blocks are the core concept of the new WordPress editor. Everything we needed an editor, shortcodes, meta boxes, custom post types or widgets for, you can build with the universal concept of blocks. As we’ve said before, you can think of blocks as LEGO bricks — pick the pieces you need from the pile and build until your work is done. Blocks are consistent, findable, dynamic, easy to understand and a breeze to work with. Rearranging the blocks is simple — use the move arrows on the left side of the block, or drag and drop them. Blocks are also individual pieces of content that contain all the metadata in a simple package. If you want, you can save blocks as a reusable block to use elsewhere, thus saving you loads of time.
What will happen to my existing content?
Your content will still be there, of course, and everything will probably be fine. Old content lives in the so-called classic format; this is a big blob of text instead of the blocks you’ll get when you make a new post. Of course, you can convert your existing content to blocks whenever you want. Open the post, click inside the classic block, click on the three little dots next to the text field and select Convert to Blocks. Most content should be converted without issue.
Convert classic format text convert to Gutenberg blocks
Existing and old posts probably won’t automatically convert to using Gutenberg blocks — and automated conversion processes won’t necessarily do a great job of presenting the page. At some point, website managers might need to go need back through everything they’ve written and ‘upgrade’ that content if they want those posts to remain competitive.
If you don’t want to convert your content to blocks, you can always continue to use the classic editor inside the old content. There’s an embedded version of the old editor, and you can continue to edit the old post right inside Gutenberg. If you want, you can even add a Classic block and continue to work a bit like the old days. But if you really want to kick Gutenberg to the curb, you might be better off installing the Classic Editor plugin.
What’s the best way to learn the new editor in WordPress 5.0?
Our SEO wizard Jono Alderson has some great tips:
“It’s not enough to just write anymore. Many people prefer to write their content in external systems (Google Docs, Word, Notepad, etc), because historically, that’s been a cleaner/easier environment than writing directly in the WordPress editor. However, to take advantage of Gutenberg, you really need to be writing in it as you construct the page. Really taking advantage of the system requires that you think about the structure of your content, the layout, the block types, and their formatting. That’s a much more involved and conscious process, which people will need to plan and prepare for.”
What will happen to my shortcodes?
Shortcodes are used for loads of reasons, so it was a priority for the Gutenberg team to make sure that everything continues to work as it should. Shortcodes will live on in separate shortcode blocks, and you can keep using them as you did before. Eventually, you’re better off turning these shortcodes into blocks. This way, your shortcode content becomes visual content, and you can see what happens when you add it to a post. No need to keep clicking that Preview button to see how it looks on the front end. What’s more, shortcodes become part of the consistent Gutenberg language and will be a lot easier to understand for everyone.
Will Gutenberg work with the plugins I use?
The WordPress ecosystem prides itself on its extensibility — you can find loads and loads of plugins for every task imaginable. This comes with a cost though, as it is impossible to test every combination of these plugins to find problems. So, it’s hard to say if the plugins you use will continue to work like before. Not only does that depend on your configuration, but also on the willingness of the plugin developer to keep the plugin updated.
Will Gutenberg work with my theme?
WordPress 5.0 should work fine with any theme, but it could be that theme builders still need to build in Gutenberg-specific features like block styling and full-width images. The same goes for page builders; there’s a chance that your custom work needs some fine-tuning. As we’ve said before, test everything before updating your live site.
Will Gutenberg hurt my rankings?
Rest assured, Gutenberg will not kill your rankings. You do, however, need to take care when updating. If for some reason, your site has a lot of errors after updating and you’re not quick to fix them, search engines might see this a sign of bad maintenance and take that into account when evaluating your rankings. This is another reason why you should test everything thoroughly before hitting that Update button on your live site!
Does Gutenberg have any other implications for SEO?
A potential worry we have is one of site speed — and we all know site speed influences SEO. Currently, Gutenberg adds a bit of overhead to your site that might have an impact on loading speed. Adding this across the board for a load of sites might make a whole piece of the web somewhat slower. While it is unclear what the effect of this might be, we know search engines prefer fast sites, so we hope this issue will be solved.
Plugins for Gutenberg might pose a risk, says Jono:
“Plugins are going to start adding support for all sorts of different types of blocks. Some of them are going to make a mess. We’re anticipating plugins which add blocks which make sites slow, add messy inline code, cause conflicts, and duplicate functionality – people will need to be careful when they consider which plugins they use!”
On the other hand, Gutenberg produces very nice, clean HTML compared to real site builders. Not to mention the elegant way we can now work with structured data, as we do with our Yoast SEO structured data content blocks. Gutenberg also gives us a lot of tools to improve the way we work with content.
Can I use Gutenberg with assistive technologies?
There’s been a big discussion about the accessibility of Gutenberg. While the Gutenberg team said from the start “accessibility was not an afterthought,” it does feel like it was. Several members of the accessibility team even resigned because of the sad state of affairs. So, to answer the question is Gutenberg accessible? No, not fully. It will take a while before that will happen, if ever. It’s not a perfect situation, but there’s always the Classic Editor plugin as an ultimate fallback. Gutenberg is in development for nearly two years and, to keep momentum, it has to be rolled out sooner, rather than later. In that regard, accessibility experts have shared a lot of grievances over Gutenberg, but, looking back, might not have contributed enough to fix or prevent those issues.
I can’t cope with this change! Why can’t everything stay the same?
We can understand the frustration, but to stay ahead and to evolve, WordPress needs to keep moving. While the process leading up to Gutenberg might not have been the prettiest, everyone felt the old editor was long in the tooth and in drastic need of an update. But the beauty of this new editor is that it not only transports it to the 21st century but that it has the potential to jump some light years ahead! Much of what we’ve been dreaming of will become possible.
But of course, we all need time to adjust to it. We’ve been using the classic editor for many years and built up a lot of muscle memory. That’s why Jono’s suggestion is so good: work inside the editor, get accustomed to it so you can unlock the full potential of it!
Please tell me your favorite time-saving tip!
Ok, one of the things I find myself using a lot in WordPress 5.0 is the / shortcut. Type this in an empty block, followed by the first letters of the block you want and you will be instantly presented with the block you’re looking for. You can use this for everything! Try it; it’s awesome.
Read more: What is Gutenberg? »
The post Pressing questions about Gutenberg: the new editor in WordPress 5.0 appeared first on Yoast.
https://ift.tt/2DO9M4z
0 notes
samiaedithg · 7 years ago
Text
Pressing questions about Gutenberg: the new editor in WordPress 5.0
Next week, we’ll see the release of WordPress 5.0. With it comes one of the most talked about — and divisive — new features ever: a brand-new editor, the one we currently know as Gutenberg. Gutenberg is not just a simple refresh of the interface, no, it is an entirely re-imagined editor with a new concept. Blocks will be your best friends from now on. Here, we’ll answer a couple of burning questions about the new WordPress editor.
A little refresher: What is Gutenberg?
When will WordPress 5.0 arrive?
Will my site break when I update to WordPress 5.0?
I want to test Gutenberg and WordPress 5.0, but how do I do that?
I’m a bit hesitant to update to WordPress 5.0, can I wait?
I’ve heard people describe Gutenberg as a page builder, is that true?
What are these blocks all about?
What will happen to my existing content?
What’s the best way to learn the new editor in WordPress 5.0?
What will happen to my shortcodes?
Will Gutenberg work with the plugins I use?
Will Gutenberg work with my theme?
Will Gutenberg hurt my rankings?
Does Gutenberg have any other implications for SEO?
Can I use Gutenberg with assistive technologies?
I can’t cope with this change! Why can’t everything stay the same?
Please tell me your favorite time-saving tip!
A little refresher: What is Gutenberg?
Gutenberg is a new, cutting-edge editor in WordPress. It uses the concept of blocks to offer a more visual way of organizing your content. These blocks are like LEGO blocks, and because they are standardized, every block works the same way. Pick the one you like to add to your content, fill in the necessary contents and move on to the next block. This process is easy to understand — no longer do you need shortcodes, custom fields or external code to get something done. Almost everything is available as a block — and if not, it will arrive soon.
This new editor comes at a time when WordPress is the most prominent CMS out there. WordPress powers over 30% of the web and the adoption is still growing. Competition, however, is getting fiercer. The growth of sitebuilder tools like Squarespace and Wix is explosive. WordPress needs to stay ahead of the pack, but to do that it requires a drastic technological overhaul. WordPress 5.0 and the Gutenberg editor bring not only an updated editing environment, but also a rebuilt foundation that will support many more revolutionary developments. For more information, please read the official Gutenberg Handbook to learn all about the how and why of the new WordPress editor.
When will WordPress 5.0 arrive?
WordPress 5.0 is scheduled to arrive on Tuesday, November 27, 2018. There’s still a possibility that it will be delayed until after the holidays, which means we’ll see it arrive sometime in January. Time is short, which means you need to get busy getting ready.
Will my site break when I update to WordPress 5.0?
There’s always a possibility of that happening, but the WordPress core team does its utmost best to prevent this. WordPress 5.0 is a major release, and you shouldn’t forget that an average site is made up of many moving parts — themes, plugins, meta boxes, custom code, etc. There are thousands and thousands of themes and plugins, and not everything works well together — a crooked combination of those could very well cause your site to crash. So, before you upgrade to WordPress 5.0 and activate the new editor, you should have thoroughly tested your configuration for faults.
Will Yoast SEO continue to work?
Absolutely, we’ve been supporting Gutenberg for some time now. Our first Gutenberg-proof release was Yoast SEO 8.0, and we’ve improved support up to our most recent release, Yoast SEO 9.2. We’ve introduced a special Gutenberg sidebar to make it easier to work with Yoast SEO inside the new editor. Also, we added structured data content blocks for two schema’s: how-to and FAQ. You can now add valid structured data to your post by simply selecting a block and filling out the fields. But that’s not all; this new WordPress editor lets us do all kinds of cool stuff en we’re currently exploring several exciting options. Stay tuned!
I want to test Gutenberg and WordPress 5.0, but how do I do that?
Testing doesn’t have to be hard — for most sites, you don’t need a full-fledged staging environment. Here’s a very concise guide to help you start testing right away — even if you want to test current and upcoming release candidates:
Install a local server like DesktopServer or Local by Flywheel
Install a backup plugin on your site, like Duplicator
Run a full backup of your site, including themes, etc.
Migrate the Duplicator package to your new test site
Install the WordPress Beta Tester plugin
Select which type of beta you want to install in Tools > Beta Testing
Install the latest WordPress update
Another viable option to quickly get a copy of your site working is the WP-Staging plugin. Whichever route you take, you should have a mirror image of your site, and that should be enough to test WordPress 5.0 and Gutenberg on. After this process, check everything — your content, themes, performance, everything. Install the Health Check plugin to help find any problems. And, above all, ALWAYS back up your site before doing anything drastic.
I’m a bit hesitant to update to WordPress 5.0, can I wait?
Sure! You can wait it out for a bit to see what happens. Some people rather sit on a release and update only when a supporting release becomes available. There’s no need to immediately hit that update button, especially during the busy holiday season. Or, if you do want WordPress 5.0, but not the new editor, you could always install the Classic Editor plugin and run the update once you’re sure nothing breaks. The Classic Editor plugin will receive support until December 31, 2021.
I’ve heard people describe Gutenberg as a page builder, is that true?
There’s a big misunderstanding about this, but, no, Gutenberg is not a page builder — not yet at least. The new WordPress editor is also not a front-end editor. As it stands now, it is a content editor. Gutenberg introduces the blocks concept and makes it easy for you to get the most out of your content.
While the new WordPress editor makes it a lot easier to visually build a page, it won’t let you enter the territory operated by Elementor or Beaver Builder. Keep in mind that this is only the first stage of the Gutenberg project. Initially, we’ll get a revamped editor with a drastically modernized core. After that, we’ll enter stage 2 in which we’ll see a move from post to page templates. Ultimately, in stage 3, Gutenberg will evolve into full site customization.
Remember, customization is the primary goal of Gutenberg — design not so much. It will take a long time before Gutenberg will make page builders obsolete, if ever! Gutenberg was not built to put page builders out of business. On the contrary, the new editor provides a solid foundation for page builders to build on using modern technologies and a shared concept. In the end, this will improve both page builders as well as WordPress itself.
What are these blocks all about?
Blocks are the core concept of the new WordPress editor. Everything we needed an editor, shortcodes, meta boxes, custom post types or widgets for, you can build with the universal concept of blocks. As we’ve said before, you can think of blocks as LEGO bricks — pick the pieces you need from the pile and build until your work is done. Blocks are consistent, findable, dynamic, easy to understand and a breeze to work with. Rearranging the blocks is simple — use the move arrows on the left side of the block, or drag and drop them. Blocks are also individual pieces of content that contain all the metadata in a simple package. If you want, you can save blocks as a reusable block to use elsewhere, thus saving you loads of time.
What will happen to my existing content?
Your content will still be there, of course, and everything will probably be fine. Old content lives in the so-called classic format; this is a big blob of text instead of the blocks you’ll get when you make a new post. Of course, you can convert your existing content to blocks whenever you want. Open the post, click inside the classic block, click on the three little dots next to the text field and select Convert to Blocks. Most content should be converted without issue.
Convert classic format text convert to Gutenberg blocks
Existing and old posts probably won’t automatically convert to using Gutenberg blocks — and automated conversion processes won’t necessarily do a great job of presenting the page. At some point, website managers might need to go need back through everything they’ve written and ‘upgrade’ that content if they want those posts to remain competitive.
If you don’t want to convert your content to blocks, you can always continue to use the classic editor inside the old content. There’s an embedded version of the old editor, and you can continue to edit the old post right inside Gutenberg. If you want, you can even add a Classic block and continue to work a bit like the old days. But if you really want to kick Gutenberg to the curb, you might be better off installing the Classic Editor plugin.
What’s the best way to learn the new editor in WordPress 5.0?
Our SEO wizard Jono Alderson has some great tips:
“It’s not enough to just write anymore. Many people prefer to write their content in external systems (Google Docs, Word, Notepad, etc), because historically, that’s been a cleaner/easier environment than writing directly in the WordPress editor. However, to take advantage of Gutenberg, you really need to be writing in it as you construct the page. Really taking advantage of the system requires that you think about the structure of your content, the layout, the block types, and their formatting. That’s a much more involved and conscious process, which people will need to plan and prepare for.”
What will happen to my shortcodes?
Shortcodes are used for loads of reasons, so it was a priority for the Gutenberg team to make sure that everything continues to work as it should. Shortcodes will live on in separate shortcode blocks, and you can keep using them as you did before. Eventually, you’re better off turning these shortcodes into blocks. This way, your shortcode content becomes visual content, and you can see what happens when you add it to a post. No need to keep clicking that Preview button to see how it looks on the front end. What’s more, shortcodes become part of the consistent Gutenberg language and will be a lot easier to understand for everyone.
Will Gutenberg work with the plugins I use?
The WordPress ecosystem prides itself on its extensibility — you can find loads and loads of plugins for every task imaginable. This comes with a cost though, as it is impossible to test every combination of these plugins to find problems. So, it’s hard to say if the plugins you use will continue to work like before. Not only does that depend on your configuration, but also on the willingness of the plugin developer to keep the plugin updated.
Will Gutenberg work with my theme?
WordPress 5.0 should work fine with any theme, but it could be that theme builders still need to build in Gutenberg-specific features like block styling and full-width images. The same goes for page builders; there’s a chance that your custom work needs some fine-tuning. As we’ve said before, test everything before updating your live site.
Will Gutenberg hurt my rankings?
Rest assured, Gutenberg will not kill your rankings. You do, however, need to take care when updating. If for some reason, your site has a lot of errors after updating and you’re not quick to fix them, search engines might see this a sign of bad maintenance and take that into account when evaluating your rankings. This is another reason why you should test everything thoroughly before hitting that Update button on your live site!
Does Gutenberg have any other implications for SEO?
A potential worry we have is one of site speed — and we all know site speed influences SEO. Currently, Gutenberg adds a bit of overhead to your site that might have an impact on loading speed. Adding this across the board for a load of sites might make a whole piece of the web somewhat slower. While it is unclear what the effect of this might be, we know search engines prefer fast sites, so we hope this issue will be solved.
Plugins for Gutenberg might pose a risk, says Jono:
“Plugins are going to start adding support for all sorts of different types of blocks. Some of them are going to make a mess. We’re anticipating plugins which add blocks which make sites slow, add messy inline code, cause conflicts, and duplicate functionality – people will need to be careful when they consider which plugins they use!”
On the other hand, Gutenberg produces very nice, clean HTML compared to real site builders. Not to mention the elegant way we can now work with structured data, as we do with our Yoast SEO structured data content blocks. Gutenberg also gives us a lot of tools to improve the way we work with content.
Can I use Gutenberg with assistive technologies?
There’s been a big discussion about the accessibility of Gutenberg. While the Gutenberg team said from the start “accessibility was not an afterthought,” it does feel like it was. Several members of the accessibility team even resigned because of the sad state of affairs. So, to answer the question is Gutenberg accessible? No, not fully. It will take a while before that will happen, if ever. It’s not a perfect situation, but there’s always the Classic Editor plugin as an ultimate fallback. Gutenberg is in development for nearly two years and, to keep momentum, it has to be rolled out sooner, rather than later. In that regard, accessibility experts have shared a lot of grievances over Gutenberg, but, looking back, might not have contributed enough to fix or prevent those issues.
I can’t cope with this change! Why can’t everything stay the same?
We can understand the frustration, but to stay ahead and to evolve, WordPress needs to keep moving. While the process leading up to Gutenberg might not have been the prettiest, everyone felt the old editor was long in the tooth and in drastic need of an update. But the beauty of this new editor is that it not only transports it to the 21st century but that it has the potential to jump some light years ahead! Much of what we’ve been dreaming of will become possible.
But of course, we all need time to adjust to it. We’ve been using the classic editor for many years and built up a lot of muscle memory. That’s why Jono’s suggestion is so good: work inside the editor, get accustomed to it so you can unlock the full potential of it!
Please tell me your favorite time-saving tip!
Ok, one of the things I find myself using a lot in WordPress 5.0 is the / shortcut. Type this in an empty block, followed by the first letters of the block you want and you will be instantly presented with the block you’re looking for. You can use this for everything! Try it; it’s awesome.
Read more: What is Gutenberg? »
The post Pressing questions about Gutenberg: the new editor in WordPress 5.0 appeared first on Yoast.
https://ift.tt/2DO9M4z
0 notes
mariathaterh · 7 years ago
Text
Pressing questions about Gutenberg: the new editor in WordPress 5.0
Next week, we’ll see the release of WordPress 5.0. With it comes one of the most talked about — and divisive — new features ever: a brand-new editor, the one we currently know as Gutenberg. Gutenberg is not just a simple refresh of the interface, no, it is an entirely re-imagined editor with a new concept. Blocks will be your best friends from now on. Here, we’ll answer a couple of burning questions about the new WordPress editor.
A little refresher: What is Gutenberg?
When will WordPress 5.0 arrive?
Will my site break when I update to WordPress 5.0?
I want to test Gutenberg and WordPress 5.0, but how do I do that?
I’m a bit hesitant to update to WordPress 5.0, can I wait?
I’ve heard people describe Gutenberg as a page builder, is that true?
What are these blocks all about?
What will happen to my existing content?
What’s the best way to learn the new editor in WordPress 5.0?
What will happen to my shortcodes?
Will Gutenberg work with the plugins I use?
Will Gutenberg work with my theme?
Will Gutenberg hurt my rankings?
Does Gutenberg have any other implications for SEO?
Can I use Gutenberg with assistive technologies?
I can’t cope with this change! Why can’t everything stay the same?
Please tell me your favorite time-saving tip!
A little refresher: What is Gutenberg?
Gutenberg is a new, cutting-edge editor in WordPress. It uses the concept of blocks to offer a more visual way of organizing your content. These blocks are like LEGO blocks, and because they are standardized, every block works the same way. Pick the one you like to add to your content, fill in the necessary contents and move on to the next block. This process is easy to understand — no longer do you need shortcodes, custom fields or external code to get something done. Almost everything is available as a block — and if not, it will arrive soon.
This new editor comes at a time when WordPress is the most prominent CMS out there. WordPress powers over 30% of the web and the adoption is still growing. Competition, however, is getting fiercer. The growth of sitebuilder tools like Squarespace and Wix is explosive. WordPress needs to stay ahead of the pack, but to do that it requires a drastic technological overhaul. WordPress 5.0 and the Gutenberg editor bring not only an updated editing environment, but also a rebuilt foundation that will support many more revolutionary developments. For more information, please read the official Gutenberg Handbook to learn all about the how and why of the new WordPress editor.
When will WordPress 5.0 arrive?
WordPress 5.0 is scheduled to arrive on Tuesday, November 27, 2018. There’s still a possibility that it will be delayed until after the holidays, which means we’ll see it arrive sometime in January. Time is short, which means you need to get busy getting ready.
Will my site break when I update to WordPress 5.0?
There’s always a possibility of that happening, but the WordPress core team does its utmost best to prevent this. WordPress 5.0 is a major release, and you shouldn’t forget that an average site is made up of many moving parts — themes, plugins, meta boxes, custom code, etc. There are thousands and thousands of themes and plugins, and not everything works well together — a crooked combination of those could very well cause your site to crash. So, before you upgrade to WordPress 5.0 and activate the new editor, you should have thoroughly tested your configuration for faults.
Will Yoast SEO continue to work?
Absolutely, we’ve been supporting Gutenberg for some time now. Our first Gutenberg-proof release was Yoast SEO 8.0, and we’ve improved support up to our most recent release, Yoast SEO 9.2. We’ve introduced a special Gutenberg sidebar to make it easier to work with Yoast SEO inside the new editor. Also, we added structured data content blocks for two schema’s: how-to and FAQ. You can now add valid structured data to your post by simply selecting a block and filling out the fields. But that’s not all; this new WordPress editor lets us do all kinds of cool stuff en we’re currently exploring several exciting options. Stay tuned!
I want to test Gutenberg and WordPress 5.0, but how do I do that?
Testing doesn’t have to be hard — for most sites, you don’t need a full-fledged staging environment. Here’s a very concise guide to help you start testing right away — even if you want to test current and upcoming release candidates:
Install a local server like DesktopServer or Local by Flywheel
Install a backup plugin on your site, like Duplicator
Run a full backup of your site, including themes, etc.
Migrate the Duplicator package to your new test site
Install the WordPress Beta Tester plugin
Select which type of beta you want to install in Tools > Beta Testing
Install the latest WordPress update
Another viable option to quickly get a copy of your site working is the WP-Staging plugin. Whichever route you take, you should have a mirror image of your site, and that should be enough to test WordPress 5.0 and Gutenberg on. After this process, check everything — your content, themes, performance, everything. Install the Health Check plugin to help find any problems. And, above all, ALWAYS back up your site before doing anything drastic.
I’m a bit hesitant to update to WordPress 5.0, can I wait?
Sure! You can wait it out for a bit to see what happens. Some people rather sit on a release and update only when a supporting release becomes available. There’s no need to immediately hit that update button, especially during the busy holiday season. Or, if you do want WordPress 5.0, but not the new editor, you could always install the Classic Editor plugin and run the update once you’re sure nothing breaks. The Classic Editor plugin will receive support until December 31, 2021.
I’ve heard people describe Gutenberg as a page builder, is that true?
There’s a big misunderstanding about this, but, no, Gutenberg is not a page builder — not yet at least. The new WordPress editor is also not a front-end editor. As it stands now, it is a content editor. Gutenberg introduces the blocks concept and makes it easy for you to get the most out of your content.
While the new WordPress editor makes it a lot easier to visually build a page, it won’t let you enter the territory operated by Elementor or Beaver Builder. Keep in mind that this is only the first stage of the Gutenberg project. Initially, we’ll get a revamped editor with a drastically modernized core. After that, we’ll enter stage 2 in which we’ll see a move from post to page templates. Ultimately, in stage 3, Gutenberg will evolve into full site customization.
Remember, customization is the primary goal of Gutenberg — design not so much. It will take a long time before Gutenberg will make page builders obsolete, if ever! Gutenberg was not built to put page builders out of business. On the contrary, the new editor provides a solid foundation for page builders to build on using modern technologies and a shared concept. In the end, this will improve both page builders as well as WordPress itself.
What are these blocks all about?
Blocks are the core concept of the new WordPress editor. Everything we needed an editor, shortcodes, meta boxes, custom post types or widgets for, you can build with the universal concept of blocks. As we’ve said before, you can think of blocks as LEGO bricks — pick the pieces you need from the pile and build until your work is done. Blocks are consistent, findable, dynamic, easy to understand and a breeze to work with. Rearranging the blocks is simple — use the move arrows on the left side of the block, or drag and drop them. Blocks are also individual pieces of content that contain all the metadata in a simple package. If you want, you can save blocks as a reusable block to use elsewhere, thus saving you loads of time.
What will happen to my existing content?
Your content will still be there, of course, and everything will probably be fine. Old content lives in the so-called classic format; this is a big blob of text instead of the blocks you’ll get when you make a new post. Of course, you can convert your existing content to blocks whenever you want. Open the post, click inside the classic block, click on the three little dots next to the text field and select Convert to Blocks. Most content should be converted without issue.
Convert classic format text convert to Gutenberg blocks
Existing and old posts probably won’t automatically convert to using Gutenberg blocks — and automated conversion processes won’t necessarily do a great job of presenting the page. At some point, website managers might need to go need back through everything they’ve written and ‘upgrade’ that content if they want those posts to remain competitive.
If you don’t want to convert your content to blocks, you can always continue to use the classic editor inside the old content. There’s an embedded version of the old editor, and you can continue to edit the old post right inside Gutenberg. If you want, you can even add a Classic block and continue to work a bit like the old days. But if you really want to kick Gutenberg to the curb, you might be better off installing the Classic Editor plugin.
What’s the best way to learn the new editor in WordPress 5.0?
Our SEO wizard Jono Alderson has some great tips:
“It’s not enough to just write anymore. Many people prefer to write their content in external systems (Google Docs, Word, Notepad, etc), because historically, that’s been a cleaner/easier environment than writing directly in the WordPress editor. However, to take advantage of Gutenberg, you really need to be writing in it as you construct the page. Really taking advantage of the system requires that you think about the structure of your content, the layout, the block types, and their formatting. That’s a much more involved and conscious process, which people will need to plan and prepare for.”
What will happen to my shortcodes?
Shortcodes are used for loads of reasons, so it was a priority for the Gutenberg team to make sure that everything continues to work as it should. Shortcodes will live on in separate shortcode blocks, and you can keep using them as you did before. Eventually, you’re better off turning these shortcodes into blocks. This way, your shortcode content becomes visual content, and you can see what happens when you add it to a post. No need to keep clicking that Preview button to see how it looks on the front end. What’s more, shortcodes become part of the consistent Gutenberg language and will be a lot easier to understand for everyone.
Will Gutenberg work with the plugins I use?
The WordPress ecosystem prides itself on its extensibility — you can find loads and loads of plugins for every task imaginable. This comes with a cost though, as it is impossible to test every combination of these plugins to find problems. So, it’s hard to say if the plugins you use will continue to work like before. Not only does that depend on your configuration, but also on the willingness of the plugin developer to keep the plugin updated.
Will Gutenberg work with my theme?
WordPress 5.0 should work fine with any theme, but it could be that theme builders still need to build in Gutenberg-specific features like block styling and full-width images. The same goes for page builders; there’s a chance that your custom work needs some fine-tuning. As we’ve said before, test everything before updating your live site.
Will Gutenberg hurt my rankings?
Rest assured, Gutenberg will not kill your rankings. You do, however, need to take care when updating. If for some reason, your site has a lot of errors after updating and you’re not quick to fix them, search engines might see this a sign of bad maintenance and take that into account when evaluating your rankings. This is another reason why you should test everything thoroughly before hitting that Update button on your live site!
Does Gutenberg have any other implications for SEO?
A potential worry we have is one of site speed — and we all know site speed influences SEO. Currently, Gutenberg adds a bit of overhead to your site that might have an impact on loading speed. Adding this across the board for a load of sites might make a whole piece of the web somewhat slower. While it is unclear what the effect of this might be, we know search engines prefer fast sites, so we hope this issue will be solved.
Plugins for Gutenberg might pose a risk, says Jono:
“Plugins are going to start adding support for all sorts of different types of blocks. Some of them are going to make a mess. We’re anticipating plugins which add blocks which make sites slow, add messy inline code, cause conflicts, and duplicate functionality – people will need to be careful when they consider which plugins they use!”
On the other hand, Gutenberg produces very nice, clean HTML compared to real site builders. Not to mention the elegant way we can now work with structured data, as we do with our Yoast SEO structured data content blocks. Gutenberg also gives us a lot of tools to improve the way we work with content.
Can I use Gutenberg with assistive technologies?
There’s been a big discussion about the accessibility of Gutenberg. While the Gutenberg team said from the start “accessibility was not an afterthought,” it does feel like it was. Several members of the accessibility team even resigned because of the sad state of affairs. So, to answer the question is Gutenberg accessible? No, not fully. It will take a while before that will happen, if ever. It’s not a perfect situation, but there’s always the Classic Editor plugin as an ultimate fallback. Gutenberg is in development for nearly two years and, to keep momentum, it has to be rolled out sooner, rather than later. In that regard, accessibility experts have shared a lot of grievances over Gutenberg, but, looking back, might not have contributed enough to fix or prevent those issues.
I can’t cope with this change! Why can’t everything stay the same?
We can understand the frustration, but to stay ahead and to evolve, WordPress needs to keep moving. While the process leading up to Gutenberg might not have been the prettiest, everyone felt the old editor was long in the tooth and in drastic need of an update. But the beauty of this new editor is that it not only transports it to the 21st century but that it has the potential to jump some light years ahead! Much of what we’ve been dreaming of will become possible.
But of course, we all need time to adjust to it. We’ve been using the classic editor for many years and built up a lot of muscle memory. That’s why Jono’s suggestion is so good: work inside the editor, get accustomed to it so you can unlock the full potential of it!
Please tell me your favorite time-saving tip!
Ok, one of the things I find myself using a lot in WordPress 5.0 is the / shortcut. Type this in an empty block, followed by the first letters of the block you want and you will be instantly presented with the block you’re looking for. You can use this for everything! Try it; it’s awesome.
Read more: What is Gutenberg? »
The post Pressing questions about Gutenberg: the new editor in WordPress 5.0 appeared first on Yoast.
https://ift.tt/2DO9M4z
0 notes