#at some point i need a new job without php. this is hell
Explore tagged Tumblr posts
Text
How is PHP not a conlang. Wdym that the only datastructure is a hashmap?!?!?? Php is what you get if you go "wouldn't it be fucked up if everything was a hashmap". You need an object? That is basicly just a hashmap with associated functions.
And the worst part is that hashing is it's whole deal but if you want to hash by a touple it's like, a tuple? you mean an array(hashmap again)? well of course we can't hash that.
47 notes
·
View notes
Text
Survey #324
“i'll sharpen my knife upon the stone made from the ruin of a dead god's throne / listen to these words as my seeds are sown: it's time to amputate the infected zone”
What is the last game you played on your phone? Pokemon GO. Do you give people personalized ringtones? No. Does your phone screen have any cracks? No. What makeup products are you wearing, if any? None. How would you describe your skin tone? Very pale. Do you have your full birth name on Facebook? Yes. What is your least favorite fruit? Probably cherries. How often do you walk around barefoot? Whenever I'm in my house or another person's who prefers shoes off inside. Would you need to sleep with someone before considering marrying them? Nah. Do you think people look up to you? No. How often do you have trouble sleeping at night? Every night. Do you ever rehearse conversations before you have them? YEP. In my head, at least. Can you name five current world leaders? No, haha... When taking a cab, do you talk to the driver? Cabs aren't really a thing here. I've never been in one. Do you always read the book before you see a movie based on a book? No. What is your favorite urban legend? The Jersey Devil. Mothman is dope and super creepy, too. I love cryptids, period. Are you an elitist (even a little bit) when it comes to anything? What? No, because I hate people like that so much. What type of fabric is most comfortable for clothing? I dunno, I don't pay attention to this. If you wear one – bras with or without a wire? With, so long as they're not poking out and stabbing you... If you wear one – are you able to find cute bras in your size? Definitely not. What length do you like your shorts to be? You'd have to pay me some big bucks to see me in shorts, period. Have you ever cut off jeans or other pants and made them into shorts? No. Have you cut the sleeves out of T-shirts to make tank tops? I don't think so, no. What was the last disappointing movie you saw? *shrug* What was the last disappointing book you read? Even bigger *shrug*. Do you ever watch compilation videos? Of what? Rarely, but if I do, they're generally old Vines and stuff. What was the last thing you rolled your eyes about? Probably something stupid on Facebook. Do you like Hellboy? If so, do you prefer the old movies or the new one? I have no thoughts on this. Favorite Disney character who isn’t royalty? Dory! Do you have a lot of people whom you don’t talk to all the time or see all the time, but still consider to be your friends? Yeah, like friends from high school and online childhood ones. Do you typically do your make up the same each time? Or do you like to change it up often? It's just about always the same. Do you enjoy making surveys as well as taking them or do you just prefer to copy, paste, fill out, post? The latter. I don't make surveys. Have you got a significant other? How are things between the two of you? If not, what was your most meaningful/long term relationship and how did that come to an end? I don't. My longest and deepest relationship was with Jason, and he ended it when my depression became too much for him to handle. Have you spent much time in a vehicle lately? What for and where have you gone most this past month? No. I've barely left the house lately for obvious reasons. Has it rained yet this year where you live? How about hailed? It's been raining like crazy lately. A few mornings ago, it also hailed very heavily for a few minutes. What is your favorite thing about Mac computers? I like the sleek, clean look of them. What is your favorite thing about PCs? They have more power for playing games. What are some errands you need to run soon? None. Well, we have a Wal-Mart order to pick up I think tomorrow, and I'll probably ride with Mom. What color was your high school graduation gown? Red. It was between that and navy, and I was really hoping for the latter, but it lost the vote. The red was so obnoxious. How many graduation gowns have you worn? One. Are your parents’ dreams for your life different than your own? I don't think they have their own specific "dreams" for my life. They both want me to create my own future that makes me happy. Have your dreams for your life changed? Definitely, over all the years. Would you ever want to learn sign language? Not especially, but it'd be cool I suppose. What’s the last thing you had for dinner? Chicken tenders, I think? Or was that the night before? Have you ever performed a solo dance in front of a crowd? No, but I almost did. At my old dance studio, the high school seniors had the option to a solo, and I was working on one to "Coma White" by Marilyn Manson, because it was and still is a song I really feel in regards to my mental health and many medications I "have" to be on. I was doing fine, but I stopped when I realized I just really was too nervous as a dance competition approached. Have you ever sung a solo? No. What was the last job you had? Deli worker. For two hours. What was your first job? Sales associate at GameStop. Who was/were your favorite coworker(s)? I never really had one. At what age did you start experiencing sexual attraction, if any? I don't know. Probably my freshman year of high school is when my levels of attraction to people reached a sexual and not just romantic level. Have you ever split open a rock with a hammer, to see a geode inside? UGH no, but I so wanna find one of those one day. What states have you lived in? Only North Carolina. S.O.S., get me outta here. What is your favorite thing about the month in which it is now? You start to see some flowers blooming. Who were your best friends in high school? I had a decent group of close friends, but I was closest to Hannia. I wish I still had contact with her. ^Are they still your best friends now? No. She deleted me off Facebook at some point. Do you live near the mountains? No; they're on the western end of the state, and I live on the opposite side. Do you live near a beach? It's about two hours away. What is your favorite beach that you’ve been to? I don't have a fave. Do you collect seashells? Nah, but I like picking them up and looking at them. My sisters and I used to collect them, though. We have a plastic container of them somewhere. If you were to start a new collection, what would it be? I desperately want a cornucopia of Markiplier merch, sobs. Is there a certain place or store you especially hate going to? I don't like going to most stores, really. I'm an online shopper. When was the last time you made plans with someone? October of last year. How long do leftovers usually sit in your fridge? Depends on the food. They tend to stay in there a bit too long, though. What is something you do for other people that shows you care for them? Offer to listen to them and always be a source of support and love. What was the last animal/pet that you met? Kinda recently, someone in our neighborhood was walking their German shepherd, and Mom chatted with the lady for a bit while I listened. Is there anyone in your life with whom your opinion changes on frequently? No. Have you ever kept a journal? Do you currently keep one? Yes, on-and-off during multiple periods of my life. These surveys are like my journals now. Is there a certain song or band who remind you of specific people? Yep. Motionless In White and Black Veil Brides, Jason. Pink Floyd and Evanescence, Sara. Metallica, Mom. Van Halen, Dad. Etc., etc. How often do you style your hair differently from how you normally style it? Never. Have you ever found out that you have been sleep walking? No, I never have. What’s the last thing you promised yourself? I don't know about promised. I take those so seriously, even to myself, that I hesitate to make them. Have you ever tried making something from one of those short cooking videos? How did it turn out? No, but my friend once tried making that "muffin in a cup" thing and it was absolutely horrid. Very eggy. When was the last time you had to wait in line for longer than a few minutes? Good question. Going into places is so rare nowadays, so it's hard to encounter this issue. Well wait, maybe at a fast food place? Idr. Have you ever written a review for a product you bought online? No, but I should do that once I actually use my own money to buy from small businesses in particular... if I had something good to say, anyway. I'd feel bad trash-talking a product. Do you ever interact with any brands/companies online? No. Is there anything you seem especially sensitive to, such as sounds, smells, etc? Smells, yes. What was the last thing you had the urge to do? Read, even though I didn't do it. .-. Is there anyone you feel that takes you for granted? No. Do you ever read the comments on social media posts? Sometimes, particularly if I have strong feelings about something. What was the last “good” thing to happen to you? My PHP therapist felt confident enough in my progress to step me down to three sessions a week versus every weekday. Last awkward situation you were in? Thankfully it was a one-on-one session, but the same aforementioned therapist was asking me questions that really stumped me, so I kept going very quiet as I thought and felt awkward and dumb. He's brilliant at his job. Think of the last time you were sick – what were you sick with? I think the last issue I had that qualifies as "sick" was a double ear infection from Hell itself. That was like two years ago. How do you think your life would change without social media? I'd be incredibly bored, but I, among I think most others, would be more positive and have a more realistic outlook on life. Social media highlights the best times in our life, and I do feel that that has had a negative effect on pretty much everyone. I don't at all believe social media is bad in essence, though. It's a wonderful way to stay connected. What was the last thing you wanted to buy, but couldn’t afford? I can't afford a new terrarium for Venus for probably a while, being without a job and all... How do you get your news? Facebook, haha. How often do you drive? Never, right now. My permit is long expired, and my vision isn't up to par to renew it. If you had to go (back) to school and completely change your career path, what would you choose to study/pursue? I guess biology? Are there any TV shows you constantly quote or know almost every line to? No. What do you think about lizards? I adore lizards; they're all so cute, big or small, and truly little dinosaurs. They're beautiful and so vast in appearances and behavior. Is there anything that people assume about you that isn’t true, and that you find very irritating? Not that I find irritating, no. How would you rate your “detective” skills? Uh, what am I "detecting?" I'm pretty good at digging online if I'm really hunting something down, I guess. Have you ever done consumer testing (testing products before they come out on the market)? If not, would you ever want to? No; I wouldn't be opposed, depending on the product. Have you ever received anesthesia or morphine? Both. The one time (I'm aware of) where I had morphine oddly enough did jack-all, though. If you had to choose which video game to be in, which would it be? Hmmm. Maybe like, Shadow of the Colossus, living in the beautiful garden on the top of the shrine? With the deer, the birds, fruit, just its general beauty... That would be awesome, especially with one other person, especially an s/o. Just the two of us in a gorgeous land. Between the two, would you rather live in a place where it’s only night or where it’s only day? Only day, I suppose. Vitamin D is very important, for one thing, and it always being dark would definitely affect my depression. And what about the flowers blooming and being able to take pictures? :( Sleep would still be possible by just closing your shades and stuff. Is there anyone that makes your skin crawl? Maggots, bot flies, parasites, patterns of small holes, etc. Do you like it when people are affectionate with you? Yes. If we're at least friends, anyway. I'm a very affectionate person. Have the past few days been bad, good, or neutral? They've been pretty all right. If you had to be an actor/actress in a movie, what genre of the movie would you be best at? Probably as an insane villain in a superhero movie or something. Are people more likely to tell you to tone it down or to speak up? Speak up. I'm a mumbler. I can be too loud sometimes too, though, particularly when I'm excited. What’s the last thing that you procrastinated? Now. Emerson's birthday was last month and I still haven't touched her pictures... Out of fire, earth, water, wind, light, and dark, which element appeals the most to you? Dark. What’s your favorite color on a vehicle? Burnt orange, pink. The last pain that you experienced, was it physical or emotional? Physical. What was one of your favorite songs as kid? I liked lots of pop songs. When’s the last time you tried to get revenge, if ever? Never. It's not something I chase after. Do you like Taylor Swift? No. What’s your favorite Disney Channel movie? The Haunted Mansion, I think. That's a Disney movie, isn't it? If you met your favorite celebrity, would you be calm or star struck? I'd be a deer in headlights, stuttering and stammering over ways to thank him and crying like a bitch. I'd be super embarrassed, but I absolutely hope I get to meet him one day. Do you ever have to do yard work? No. Is your school close to your house? I'm no longer in school. Do you have any live versions of songs in your music software? Yes. Did/do you listen to Britney Spears songs? Yeah, I like her. What shorthand do you use the most? Probably "lmao." What album is the current song you’re listening to off of? METAWAR. In your opinion, what song is the most overplayed right now? I wouldn't know; I don't listen to the radio. Are you in a band? No. When I started high school though, I wished I could be a guitarist in one. That's one reason I started taking lessons, haha. Does your favorite band have a male or female lead singer? Male. Have you ever been to a Broadway show? No. Do you prefer group or individual work? Individual, by a long shot. I work much better alone. Could you ever complete a 500-piece puzzle? I think I have before. I used to love puzzles. When was the last time you rode in a limo? Damn son, never; what could possibly give you the idea I could afford to ever do THAT????? Do you take naps daily? Almost every day, yes. Do you still make Christmas lists? Yeah, because I'm asked to. Do you watch the show Dexter? Never seen it, no. Are you currently using a blanket? Yes. My feet are cold. How long is the song you’re listening to? 4:06. Is your mom or dad the older parent? Mom, but only by a year. Did you ever listen to Avril Lavigne when you were younger? Who didn't? I still listen to a couple songs. When was the last time you changed a light bulb? Not all that long ago when Venus' lamp bulb died. How often do you clean your car out? I don't have my own car. Did you ever buy NOW ("Now That’s What I Call Music") CDs? My older sister did, yes. What color (mainly) is your computer? It's black. What is in the back seat of your car right now? In Mom's car, idk. But there's usually some stuff back there. What is your favorite episode of F.R.I.E.N.D.S.? Never watched it. Last person’s house you were in? Besides my own, my older sister's. Who is the last person you sent a message to on Facebook? My friend Chelsea. We were catching up. Were you an honor roll student in school? Yes. Do you have a tan? HA. Are you someone’s best friend? Yes. <3 What do you think of when you think of Australia? Huntsmen spiders. *shudders* Favorite gemstone? Of the basic ones, rubies. If we're talking of all of them, even the obscure, then dragon's breath opal. I'd LOVE to have a ring of one of those. Do you go in at a fast food place or just hit the drive thru? Almost always the drive-thru. What color is your mom’s hair? It's all gray now. Does your first memory involve your dad? No. Biggest annoyance in your life right this minute? My social anxiety. Do you like watching a bonfire? Yeah. Fire is mesmerizing. Do you ever get flu shots? No, but I really should. Once the Covid vaccine is accessible to all though, I'm getting it for the protection of my immunocompromised mother.
3 notes
·
View notes
Text
Cross-posted from my blog: I should have just stayed in bed
I took a mental health day yesterday. The first one I’ve had in I can’t remember how long. I woke up and texted Ryan to see if they could do without me for a day. As far as I knew I didn’t have anything pressing, and he said go for it. Honestly, I could do with a week off, and I’m sorely tempted to ask if I can do that next week. I’m tired and angry. And it seems like every time I go back in, something else sets me off.
I spent the morning watching tv and trying to decompress. I played a little GW2, and for the most part enjoyed it. I ran into someone being a complete asshat in WvW but I tend to just block and move on when it comes to PVPing in that game. The community is great … as long as you stay out of the WvW and sPVP maps. :P I tried to nap but had a splitting headache so I started watching monster movies and ordered a pizza. I figured it was Fuck it Friday, so why not?
I had considered going out that afternoon when Donna texts me asking if I’d seen a ticket that came in. No, because I removed all work-related apps from my phone since it’s a personal phone now. I find out that we’re getting a new COO … and he starts in 2 days. Great. And no one said anything to me and half his accounts are already setup, so I’ll have to figure out his Domino/Notes stuff when I get in Monday. I’m pretty sure no one thought to ask, and at this point I decide I’m too angry to go out and opted to stay home. Fuck it, I will deal with it Monday. That’s become my mantra lately … “Fuck it, I will deal with it later.”
I told Donna that right there was proof they didn’t need me and she says that anyone can setup the AD stuff but no one knows Notes. Thanks a lot. I took over setting up the AD accounts because they kept getting fucked up. And I’ve made the Notes setup as easy as possible, documenting step by step what should be done where in case anyone needed to pick up while I’m out. I’ve made this known to the entire department several times, and no one bothers to look at it, and claims “Oh, I don’t know how, we still need YOU to do this.” I’m tired of it all. I’m angry, and I’m hurt. I’m tired of reaching out to folks to try to explain, then have my feelings either minimalized or just told (in a round-about way) to get over it. And people wonder why I keep withdrawing?
I don’t think she meant it the way I took it, but I already feel alienated, left out. And shit like this doesn’t help.
So monster movies all night long, basically until I passed out. I woke up this morning and received an email that one of my fanlistings weren’t working. It turns out none of them were. I had upgraded EasyApache on my server about a month ago and performed some badly needed upgrades. I was quite frankly embarrassed at how old the software I was still running was, and decided it would be a good idea to update EVERYTHING to the latest and greatest. Yeah, did not go as planned. Worse, I decided to initiate this about 45 minutes before walking out the door to an appointment. I opened a ticket with KnownHost to let them know that I did a dumb thing and asked about rolling back to the last VPS snapshot. After some back and forth, it turned out that I didn’t really need to do that, I just needed to fix my root htaccess file. It turns out I caused my own problem with just one little line, hah!
Some days I really do question my own intelligence.
OK so this morning I’ve been digging through code and yelling at my monitor, and it seems the Enthusiast script I’ve been using is outdated. Actually, that’s an understatement, it’s a fossil, an antique. It was written for PHP 4.1 or 4.2. Even worse, this was an upgrade from an even earlier version and I’d customized the hell out of it over the years. The official Enthusiast site has been down (looks like they recently had an upgrade of their own that went TU), so I checked the repository on GitHub. It was the latest version I could find … and would not function fully on PHP7 or higher.
Lovely. /headdesk
It seems there’s a fork with an updated version of 3x that works on PHP 7.3, but I’d have to figure out how to convert my existing Enthusiast installs to it. I copied the new fork’s files on a test subdomain, created the databases needed and installed the script. Yep, NOPE! Everything’s totally different and honestly by this point I’ve been staring at code all morning and am a bit pissed off, coupled with the aggravations from work, I decided to go another route. I’m not proud of this, but it works and for now it gives me time to figure out if I want to keep these fanlistings or not. I created a new subdomain account and added PHP 5.6 to my EasyApache profile. UGH! I really don’t like adding something so old, but my plan is only to allow that one subdomain to run it. I create a new MySQL database and export from my main domain to the new subdomain. I update all config files where needed with the new db infos and BOOM, I’m back in business.
Granted, now I’ve got to clean up all of my customizations and make sure all of them work. I also have to submit a modification request to TFL letting them know that these things have been moved. Of course while I’m in there looking at the code, I’m shocked at how badly these things are written. Granted, these sites were all written 10+ years ago. I guess I can’t be too hard on myself. A small part of me badly wants to re-design these things “properly” … but a larger part of me doesn’t have enough fucks to give. It’s not that I don’t care, but … I don’t have the energy to spend on them. That actually makes me a little sad.
My therapist thinks that’s stress and/or my depression talking … these used to be little fun projects and I loved making websites one after another. And now I don’t find it fun anymore. Actually, it’s really hard for me to enjoy much of anything that I used to. I mean I laugh about it some days, but I have gotten to the point to where nothing I used to love brings joy to me anymore. My job is one thing. I can easily explain that with burnout. But this is more. I’m beginning to think that maybe I need to find another psychiatrist and give that another shot. Because I think I’m getting worse.
Anyways, I hope your weekend is going better than mine. And May the 4th be with you. ♥
... from I should have just stayed in bed
1 note
·
View note
Text
What I Like About Craft CMS
Looking at the CMS scene today, there are upwards of 150 options to choose from — and that’s not including whatever home-grown custom alternatives people might be running. The term “Content Management System” is broad and most site builders fit into the CMS model. Craft CMS, a relatively new choice in this field (launched in 2013) stands out to me.
My team and I have been using Craft CMS for the past two years to develop and maintain a couple of websites. I would like to share my experience using this system with you.
Note that this review is focused on our experience with using Craft and as such, no attempt has been made to compare it to other available options. For us, using Craft has been a very positive experience and we leave it up to you, the reader, to compare it to other experiences that you may have had.
First, a quick introduction to Craft
Craft is the creation of Pixel & Tonic, a small software development company based out of Oregon. Founded by Brandon Kelly, known for premium ExpressionEngine add-ons. While developing some of the most used add-ons, Pixel & Tonic set out to build their own CMS, known as "Blocks." This was all the way in 2010, during its development the name was changed to Craft CMS.
Looking at the market we can see that Craft is well adopted. At the time of writing this article, there are around ~70 000 websites using Craft.
Showing market growth over the five year period.
Craft was set out to make life enjoyable for developers and content managers. In 2015, Craft proved this by winning the Best CMS for Developers award by CMSCritics. Over the years, Craft has won multiple awards that prove that Craft is on the right path.
When I am asked where Craft fits in the overall CMS landscape, I say it's geared toward small-to-medium-sized businesses where there is a staff of content managers that don't require a completely custom solution.
At the heart of things, Craft is a CMS in the same vein as WordPress and other traditional offerings — just with a different flavor and approach to content management that makes it stand out from others, which is what we're covering next.
Craft's requirements
Server requirements for a Craft setup are simple and standard. Craft requires the following:
PHP 7.0+
MySQL 5.5+ with InnoDB, MariaDB 5.5+, or PostgreSQL 9.5+
At least 256MB of memory allocated to PHP
At least 200MB of free disk space
Out of the box, you can get Craft up and running fast. You don’t need an extensive PHP or Database background to get started. Hell, you can get away with little-to-no PHP knowledge at all. That makes both the barrier to entry and the time from installation to development extremely small.
It’s both simple and complex at the same time
Craft is unique in that it is both a simple and a complex CMS.
You can use Craft to design and develop complex sites that and are built with and rely heavily on PHP, databases, and query optimizations.
However, you can also use Craft to design and develop simple sites where you do none of those things.
This was one of the main selling points for me. It’s simple to get up and going with very little, but if you need to do something more complex, you can. And it never feels like you are “hacking” it do anything it wasn’t meant to.
Craft abstracted all the field creation and setup to the admin panel. You only need to point it to the right Twig and then use the fields you connected. Furthermore, it provides localization and multi-site management out of the box with no need for plugins. This is essentially what makes it different from other content management systems. You can create the structure, fields and all the forms without ever touching any code.
Some CMSs like to make a lot of decisions for you and sometimes that leads to unnecessary bloat. Front- and back-end performance is super important to me and, as such, I appreciate that Craft doesn’t leave a lot of that up to me, should I need it. It provides a full customization experience that supports beginners right out of the box, but doesn’t constrain folks at the professional level.
Craft’s templating engine
Some developers are not keen on this, but Craft uses Twig as its template engine. The word “use” should be emphasized as a requirement, as there is no option of writing raw PHP anywhere inside the template. Here are my thoughts on that:
It is standardized in a way that, when I look at my team's Pull Requests, I don’t expect to see 100 lines of custom PHP that make no sense. I only see the code related to templating.
Twig is already powerful enough that it will cover nearly all use cases while being extensible for anything else.
Let’s say you’re not digging Twig or you would rather use one of the latest technologies (hello static site generators!). Craft’s templating system isn’t the only way to get content out of Craft. As of Craft 3.3, it provides a “headless” mode and GraphQL built-in with Craft's Pro features. That means that you can use tools like Gatsby or Gridsome to build static sites with the comfort of Craft CMS. That brings Craft in line with the like of WordPress that provides its own REST API for fetching content to use somewhere else.
There's a fully functional GraphQL editor built right inside the Craft UI.
Speaking of REST, there is even an option for that in Craft if, say, you are not a fan of GraphQL. The Element API is a REST read-only API that is available via the first-party Element API plugin. Again, Craft comes with exactly what you need at a minimum and can be extended to do more.
Craft’s extensibility
This brings me to my next point: Craft CMS is super extensible. It is built on the Yii Framework, a well-known PHP framework that is robust and fast. This is important, as all the extensibility is either through modules or plugins written in Yii and Craft API. Modules are a concept passed down from Yii modules and they provide a way to extend core functionality without changing the source. On the other hand, plugins are a Craft concept and they do the same thing as modules, but can be installed, disabled and removed. If you would like to read more about this, you can find it in Craft’s docs.
Both modules and plugins have full access to Craft and Yii’s API. This is a huge bonus, as you can benefit from Yii’s community and documentation. Once you get used to Yii, writing plugins is easy and enjoyable. My team has built multiple custom plugins and modules over the last two years, like a Pardot form integration, a Google reCAPTCHA integration, custom search behavior, and others. Essentially, the sky is the limit.
Writing plugins and modules is covered in the docs but I think this is where Craft's system has room to grow. I would recommend opening a well-known plugin on GitHub to get a sense of how it’s done because I’ve found that to be much more helpful than the docs.
Initially, you may find this aspect of the system difficult, but once you understand the structure, it does get easier, because the code structure essentially consists of models, views, and controllers. It is like building a small MVC app inside your CMS. Here is an example of a plugin structure I’ve worked with:
. ├── assetbundles ├── controllers ├── migrations ├── models ├── records ├── services ├── templates │ ├── _layouts │ └── _macros ├── translations │ └── en ├── variables ├── icon-mask.svg ├── icon.svg └── Plugin.php
If you don’t feel like writing PHP and tinkering with Yii/Craft, you can always download plugins from the official Craft plugin store. There is a variety of plugins, from image to building on top of the WYSIWYG editor. One of many things that Craft got right is that you can try paid plugins in development mode as much as you like rather than having to first make a purchase.
The Craft plugins screen.
During the course of two years, we have tried multiple plugins, there are a few that I not only recommend, but have found myself using for almost every project.
ImageOptimize - This is a must for performance enthusiasts as it provides a way to automatically transform uploaded images to responsive images with compression and convert to more modern formats.
Navigation - Craft doesn’t come with navigation management built right in, even though you technically can do it with custom fields. But Verbb did an awesome job with this simple plugin and for us it’s one of the very first plugins we reach for on any given project.
Seomatic - This is what is the Yoast SEO plugin is to WordPress: an out of the box solution for all your SEO needs.
Redactor - This is a must and should be included in every project. Craft doesn’t come with a WYSIWYG editor out of the box but, with Redactor, you get a Redactor field that includes one.
Super Table - This powerful plugin gives you an option to create repeatable fields. You can use built-in Craft field types to create a structure (table) and the content manager creates rows of content. It reminds me of ACF Repeater for WordPress.
Craft’s author experience
While we’ve covered the development experience so far, the thing that Craft got extremely right — to the point of blowing other CMSs out of the water, in my view — is the author's experience. A CMS can do all kinds of wonderful things, but it has to be nice to write in at the end of the day.
Craft provides a straightforward set of options to configure the site right in the admin.
The whole concept of the CMS is that it is built with two simple things; Fields and Sections, where fields are added to sections and entries are created by content managers.
Craft's default post editor is simple and geared toward blog posts. Need more fields or sections? Those are available to configure in the site settings, making for a more open-ended tool for any type of content publishing.
One of the neatest author features is version control. "Wait, what?" you ask. Yes, all content is version controlled in a way that lets authors track changes and roll back to previous versions for any reason at all.
Craft shows revisions for each entry.
At any point in time, you can go back to any revision and use is as a current one. You don't know how much you need this feature until you've tried it. For me, it brings a sense of security that you can't lose someone's edit or changes, same a with Git and developers.
The fun doesn't stop here because Craft nailed one of the hardest things (in my opinion) about content management and that is localization. People still find this hard in 2020 and usually give up because it is both difficult to implement and properly present to authors in the UI.
You can create as many sites as you want.
Oh, and you can host multiple websites in a single Craft 3 instance. You can define one or more sites at different domains, different versions of the entry content and using a different set of templates. Like with everything in Craft, it is made so simple and open-ended (in a good way) that it is up to you what the other sites are going to be. You can create a site with the same language but different content or create a site with another language, solving the localization problem.
All the features above are already built-in inside Craft which for me is a must for a good author experience. As soon as you start patching the essential author functionality with plugins, great author experience is lost. This is because usually when you want to add functionality there are multiple plugins (ways) to do it, which aids a different author experience on the same platform but different instances.
Craft’s community
It’s worth underscoring the importance of having a community of people you can to turn to. To some degree, you’re probably reading this post because you enjoy learning from others in the development community. It’ no difference with CMSs and Craft has an awesome community of developers.
Craft's Stack Exchange is full of questions and answers, but a lot of the information needs to be updated to reflect Craft 3.
At the same time, the community is still small (compared to, say, WordPress) and doesn’t have a long track record — though there are many folks in the community who have been around quite a while having come from ExpressionEngine. It’s not just because Craft itself is relatively new to the market. It’s also because not everyone posts on the Craft CMS Stack Exchange to the extent thatmany of the older answers haven’t even been updated for Craft 3. You’ll actually find most of the community hanging out on Discord, where even the creators of Craft, Pixel & Tonic, are active and willing to answer questions. It is also very helpful when you see Craft core members and big plugin creators, like Andrew from nystudio107 (shout out to a great performance freak), are there to assist almost 24/7.
Craft's discord has always someone to help you. Even the core team responds often.
One thing I also want to touch on is the limited learning resources available but, then again, you hardly need them. As I said earlier, the combination of Craft and Twig is simple enough that you won’t need a full course on how to build a blog.
Craft's conference, Dot All, is a great resource all its own. Chris attended last year with a great presentation, which is available to the public.
And, lastly, Craft uses and enforces open source. For me, open source is always a good thing because you expose your code to more people (developers). Craft did this right. The whole platform and also plugins are open source.
Pricing
This is the elephant in the room because there are mixed feelings about charging for content management systems. And yes, Craft has a simple pricing model:
It’s free for a single user account, small website.
It’s $299 per project for the first year of updates. It’s only $59 each year after that, but they don't force you to pay for updates and you can enable license updates for an additional year at any time at the same price.
Craft's Solo version is totally capable of meeting the needs of many websites, but the paid Pro option is a cost-effective upgrade for advanced features and use cases.
I consider this pricing model fair and not particularly expensive — at least to the point of being prohibitive. Craft offers a free license for a small website you can build for a friend or a family member. On the other hand, Craft is more of a professional platform that is used to build mid-size business websites and as such their license cost is negligible. In most cases, developers (or agencies) will eat up the initial cost so that clients don’t have to worry about this pricing.
Oh, and kudos to Craft for providing an option to try the Pro version for free on a local domain. This also applies to all plugins.
Conclusion
To conclude, I would like to thank Craft CMS and the Pixel & Tonic team for an awesome and fun ride. Craft has satisfied almost all our needs and we will continue to use it for future projects. It’s flexible to fit each project and feel like CMS built for that use case.
It boils down Craft for me is a content management framework. Out of the box, it is nothing more than nuts and bolts that needs to be assembled to the user's needs. This is the thing that makes Craft stand out and why it provides both great author and developer experience.
As you saw in the licensing model it is free for a single user, try it out and leave your feedback in the comments.
The post What I Like About Craft CMS appeared first on CSS-Tricks.
What I Like About Craft CMS published first on https://deskbysnafu.tumblr.com/
0 notes