ryan

New post: New PW website ready

Recommended Posts

@Craig A Rodway - I'm not seeing the horizontal scrollbars anymore unless I resize the text to 120% at that point the Docs menu is off.  At the standard 100% the menus open correctly for me in Chrome / Firefox Mac.

Ryan, on the latest blog posting https://processwire.com/blog/posts/rebuilding-the-pw-site-5/ I still see 2 "Prev" links which seems confusing.  If it is the latest blog posting, I would think it should only show 1 "Prev" posting instead of two previous postings?

289390345_RebuildingtheProcessWire.comwebsite(part5)2019-01-0917-11-00.thumb.jpg.ad1a51405c26bf2dcaeaf116eadde288.jpg

Other blog posts look correct like on https://processwire.com/blog/posts/pw-3.0.123-master/

1579114553_ProcessWire3.0.123newmaster2019-01-0917-14-36.thumb.jpg.fe9692e8850c4ecef653dbe1be703c26.jpg

Thank you for all the work that you have put into this!

Share this post


Link to post
Share on other sites

Hey @ryan - I am revamping the search functionality in Tracy's ProcessWire panel so that it uses your new search functionality from the site.

Current it looks like this, but I will probably clean up the radio options given how the new site search breaks up results itself.

image.png.b85729f22a78cdc4de162aaa310197dd.png

The catch is that when I make a request (eg. https://processwire.com/search/?q=findMany) it returns the complete HTML rather than JSON. I could parse out the HTML, but would you be willing to provide a way for it to return JSON for external requests? 

I think this would be really useful for users so that they can do site searches directly from their sites.

Thanks for considering.

PS - I have done an update on this so that it now uses the site search (except I still use Google for the forum), but of course it's not ajax - it just links off to the site's search page with links like: https://processwire.com/search/?t=Modules&q=tracy

I think that will do for now but let me know if you do feel like making the results available as JSON via AJAX.

  • Like 1

Share this post


Link to post
Share on other sites
9 hours ago, Craig A Rodway said:

Ha 🙂 Being a Windows user, I get Segoe UI when it's used, and I quite like it and prefer it over Arial. I have noticed some slight vertical alignment things but it doesn't bother me that much.

Absolutely Craig, it's not the actual typeface I dislike, just the occasional (maybe baseline related?) vertical alignment issues that make it act that little bit differently from all the rest. Generally makes no difference to display, but every now and then will bite you out of the blue when you try to do something that should be easy.

Share this post


Link to post
Share on other sites

Sorry Ryan, but can also please change this API example from the homepage:

// Set “summary” field value on page and save to database
$page->set('summary', 'Hello world')->save();

It will fail with a "Can’t save page 1: /: Call $page->of(false); before getting/setting values that will be modified and saved" error. Maybe you could use a setAndSave() example instead, or something else?

I do also wonder about the image example - you are using a single "image" field, but if someone is playing around for the first time, chances are they will be working with an "images" field and so this call will also fail.

 

Another thought for the homepage if you don't like my Console API sandbox idea - what about a screencast of coding and returning the results of some key API calls? This could be recorded from the Console panel, or you could do it with code editor and browser windows tiled - I like the idea of users being able to see the API in action visually to see just how easy it is to query and output field content.

  • Like 1

Share this post


Link to post
Share on other sites
7 hours ago, Robin S said:

If that's the case then the selection of brand font is even more important, and personally I don't think we should be considering any open-source/free/system font as candidates for the brand font. The problems being...

I have to agree here. While I'm ok with any font (either system or non-system) for text, I think we are losing the brand with system fonts for the logo. I think that we should keep the original logo with icon and text together.

I also don't like iMac picture. For me, it doesn't make me think that this CMS is for developers, but rather "O, this software only works on Apple device, I'll pass that one". As I understand, this is just temporary?

  • Like 3

Share this post


Link to post
Share on other sites

@ryan

Kudos for the launch! What a progress!

Some hints:

1. You might edit the starting post of this thread and link to the life site now. 

2. The issue with the cut off dropdown remains (screenshot Firefox on Win 10):

dropdownbug.png.68eb5878abd1ee1e5298264617aa39d9.png

3. I second the use of the wordmark logo instead of having ProcessWire in the site's font. (Even if I find the wire part of the wordmark a bit unfortunate, typographically.)

 

Share this post


Link to post
Share on other sites

Congratulations on the launch, Ryan!

I do have issues with the iMac/screenshots images though, as others have said before me. Not because it is an iMac, but because of the impossible size of the content. 
My first reaction as a visitor is to squint my eyes and to move my head close to the monitor to see the actual PW screenshots inside it. 
And to be honest I think that is a problem, because:

  • The very first impression, the first thing people look at, on any website will always be graphics/images, not text. 
  • You only get one shot at a first impression
  • The first impression should be very clear and very convincing
  • The iMac frame and code in the background take about 75% of the available real estate, making the actual screenshots tiny!

A simple sliding carousel or slideshow would suffice, possibly showing steps like:

  • The pagetree 
  • Editing a page
  • Cropping an image
  • Creating fields
  • Creating template
  • Like 5

Share this post


Link to post
Share on other sites
21 minutes ago, eelkenet said:

I do have issues with the iMac/screenshots images though, as others have said before me. Not because it is an iMac, but because of the impossible size of the content. 
My first reaction as a visitor is to squint my eyes and to move my head close to the monitor to see the actual PW screenshots inside it. 
And to be honest I think that is a problem, because:

  • The very first impression, the first thing people look at, on any website will always be graphics/images, not text. 
  • You only get one shot at a first impression
  • The first impression should be very clear and very convincing
  • The iMac frame and code in the background take about 75% of the available real estate, making the actual screenshots tiny!

My thoughts exactly. A video + a code console to play with the API, as mentioned before, would be much more effective. 

  • Like 5

Share this post


Link to post
Share on other sites

@ryan Congrats on the launch!

One more thing I noticed, in the "ProcessWire Pro Shop" section on the homepage, the module tiles use some JavaScript magic to figure out if a tile was clicked and navigate to that page. That's a bit annoying, since I can't use CMD-click or middle-mouse-click to open the link in a new tab (I like to open multiple links in new tabs and then read through them in turn). This could easily be improved by just wrapping the entire card inside the anchor-tag, then the JavaScript isn't needed at all. This would also help accesibility.

  • Like 4

Share this post


Link to post
Share on other sites

Congrats on the launch! The whole site looks much more modern and to the point now! Respect for putting in this much effort in such a short amount of time!

I second the suggestion of showing a video or a slideshow of images without the imac frame on the starting page. The frame indeed distracts the user from the valuable content imho and steals important space for displaying the actual features of PW.

Also a display of a console where the output of API calls is displayed could be a game changer in terms of a pro PW decision for developers. I think Tracy Debugger should be part of the core. In my eyes this is one of the most valuable developing tools if working with Processwire.

  • Like 3

Share this post


Link to post
Share on other sites

Thanks to several of you for suggesting that Tracy should be part of the core and as much as I like the idea in theory, I am not so sure about it in practice. Here are several reasons why I don't think it should be part of the core:

1. I think all core code should be vetted by Ryan and Tracy is just too large for him to be able to do that.

2. There is always the chance that I, or the guys at Nette that develop the Tracy core, could introduce a security bug - obviously we do our best, but I don't think Ryan should have to worry about this affecting the reputation of PW.

3. I update and add features to Tracy very often and I wouldn't want to have to wait on Ryan to approve PRs for those changes.

4. Tracy does slow down ProcessWire a little when activated and the debug bar is showing, especially on pages with lots of complex fields (this can be reduced by turning off certain sections/panels). I think most of us are willing to live with this for the advantages it brings, but I think new users should probably experience PW with the best possible speed and then decide if they want Tracy.

5. Some users just might not like Tracy - they already have their own way of debugging and don't want something else getting in their way - I think they're crazy, but who am I to judge 😉

Anyway, hopefully those arguments make sense, but I really do appreciate how much you guys value Tracy as a tool in your own workflows - don't forget to like in modules directory and star on Github!

 

  • Like 13
  • Sad 1

Share this post


Link to post
Share on other sites

@adrian Thank you for your concern. All five points are valid arguments, I support them all.

And thank you even more for your steady effort to improve this valuable tool!

  • Like 3

Share this post


Link to post
Share on other sites
3 hours ago, adrian said:

Thanks to several of you for suggesting that Tracy should be part of the core and as much as I like the idea in theory, I am not so sure about it in practice. Here are several reasons why I don't think it should be part of the core:

...

Anyway, hopefully those arguments make sense, but I really do appreciate how much you guys value Tracy as a tool in your own workflows - don't forget to like in modules directory and star on Github!

 

I've not actually used Tracy yet...

*everyone gasps*

...but I have often dreamed of a module installer that lets you browse via category from your PW installation itself. This way you get around the less intuitive copy-and-paste-the-module-name-to-install functionality as it exists today (it's not hard but other systems make it simpler) and it's also the ideal place to get "must-have" modules in front of people's eyes.

For example, show a  list of the categories on one side of the page, and on the other side have a list of the top-10 modules most people use, or maybe suggestions for different types of website even ("Top modules for starting your blog/news/magazine site", "top modules for starting your company website" etc etc and clicking on each shows you the list. I'd also suggest some of the Pro modules would make the list as well as several of them are must-haves for me.

Edit: forgot to say that this is the way around it - making things like Tracy one click away after installing ProcessWire, and also getting the obligatory "use third-party modules at your own risk" warning in there whilst also not adding much more to the core.

  • Like 3

Share this post


Link to post
Share on other sites

The header and footer are looking lovely with the original logo.

Just noticed that the home page section title "ProcessWire News & Community" is replaced once the content is pulled in (LInux Firefox & Chrome).

screencapture.gif

Share this post


Link to post
Share on other sites
41 minutes ago, Pete said:

 

...but I have often dreamed of a module installer that lets you browse via category from your PW installation itself.

There is of course Soma's old Modules Manager, but I haven't used it in years now. 

Maybe a new Modules Installer panel for Tracy ?

  • Like 3

Share this post


Link to post
Share on other sites
4 minutes ago, adrian said:

Maybe a new Modules Installer panel for Tracy ?

I'm pretty sure it's about 80% done by now 🙂

  • Like 2
  • Haha 2

Share this post


Link to post
Share on other sites

The old logo is back due to popular demand. I've never liked the way it looks next to the newer mark, but reducing the brightness of the word "Process" seems to help a bit, so I think it works for now. 

The issue with the overlapping dropdown should be fixed now, please let me know if anyone else is still seeing it. You might have to double-test in Incognito mode if you do, just in case something is stuck in the cache.  

I agree with Adrian's points on Tracy, and also I wouldn't know how to maintain it if he ever decided to go meditate in a cave in India for a year. But I also agree about how useful and important Tracy is and that we should give her first class treatment around here and make it as easy as possible for people to make it a part of their installation. Perhaps the core modules install screen has an "Install Tracy" button, or special site profile, or maybe PW's default error messages could suggest Tracy as an option for additional developer help, etc. 

Quote

It will fail with a "Can’t save page 1: /: Call $page->of(false); before getting/setting values that will be modified and saved" error. Maybe you could use a setAndSave() example instead, or something else?

I think the example is fine because it just depends if output formatting is on or off. And if it's on, it'll give you an error about what you need to do. The purpose of those examples on the homepage is not to provide a full start-to-finish API workflow, but it's to show some interesting snippets to what's possible in 1 line of code. This is more about marketing than it is about serving as documentation, though of course they are good examples too. 

Regarding use of $pages vs pages(), I had thought we had it enabled in all the site profiles by now, but it turns out it was in the newest one but not the older ones. I'm updating the older ones so that it is enabled by default. I'm also updating the error handler so that if it detects you are trying to use the functions API but the $config->useFunctionsAPI is false, it replaces the "undefined function" error message with a "you need to enable the functions API and here's how..." message.  Tracy actually got me thinking of this because I mistyped something and its error said something along the lines of "did you mean [alternative-function]" (not sure of exact wording) and I found that incredibly helpful.

Quote

Regarding the live search (which is awesome), is there a reason that it doesn't find "findIds()" or "findMany()" etc in the API when I type "find"?

It's showing up for me. It's just there's a lot of stuff with the word "find" in it, so you just have to click on the view-all link. 

Quote

Just noticed that the home page section title "ProcessWire News & Community" is replaced once the content is pulled in (LInux Firefox & Chrome).

This is actually how we make it possible for that footer to be always up-to-date with the forums, Twitter, etc., even if the rest of the page is on a 1-day (or 1-week) cache via ProCache. It uses Uikit's scrollspy to automatically load the footer via ajax from a separate page that is on a 60-second cache, but only if you actually scroll to it. In this manner, we're getting full cached delivery, and a fully up-to-date News/footer section when/if you scroll down to it. 

  • Like 6

Share this post


Link to post
Share on other sites
26 minutes ago, ryan said:

I think the example is fine because it just depends if output formatting is on or off. And if it's on, it'll give you an error about what you need to do. The purpose of those examples on the homepage is not to provide a full start-to-finish API workflow, but it's to show some interesting snippets to what's possible in 1 line of code. This is more about marketing than it is about serving as documentation, though of course they are good examples too. 

Marketing sight: Absolutely true!

User sight: G*d d*mn f*ck sh*t! It doesn't work.

I was on the search for a new CMS (back in 2014) that could maintain hundreds and hundreds of custom fields. Some things I tried back then ended in an error but I stayed because I had someone that said "ProcessWire works!" Without that second voice I would have moved to something else.

Working examples are more an argument PRO ProcessWire than examples you have to understand with basic knowledge of the system. 

I was able to type the characters shown in the tutorials but didn't know what was happening. That came with time and the more I worked with ProcessWire the more I started to love and believe in ProcessWire as my CMS of choice.

 

But that's just my experience and sight on this.

  • Like 3

Share this post


Link to post
Share on other sites
21 minutes ago, ryan said:

But I also agree about how useful and important Tracy is and that we should give her first class treatment around here and make it as easy as possible for people to make it a part of their installation.

Sounds good!!

21 minutes ago, ryan said:

Regarding use of $pages vs pages()

I think it is especially confusing that you have: $page, but then pages() - that suggests to me that there is no $pages option.

I still think all examples on the site should use one approach with a dedicated page that explains what can be used where and why. I provided more detailed thoughts about this here: https://processwire.com/talk/topic/20596-new-post-new-pw-website-ready/?do=findComment&comment=178332

I think all the $this->wire('pages'), $wire->pages, $this->pages, $pages, pages() options are confusing to newbies to PW and OOP in general. 

But I won't mention it again if you think it's OK 🙂

  • Like 4

Share this post


Link to post
Share on other sites

Thanks for your thoughts @wbmnfktr - I agree that examples must work as they are - they shouldn't result in a message explaining why they don't work.

Ok, I'm done now, I promise :)

  • Like 1

Share this post


Link to post
Share on other sites
2 minutes ago, adrian said:

$this->wire('pages'), $wire->pages, $this->pages, $pages, pages()

It still confuses me sometimes... to be honest.

  • Like 4

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   1 member