Hello,
In the last time I worked with another CMS in there we could change all the site and the update don’t appear online, only show online if we commit the changes, if we don’t want that the changes appear online we can reset all the changes that we did.
I try your cache but doesn’t have the same effect... and when I put one document without "clear cache" don’t save the changes of the page settings
Please I want to know if it is possible to do this?
It’s not possible out-of-the-box, but on the forums there are topics about versioning plugins to build in this functionality!
with regards,
Ronald Lokers
'Front-end developer' @
h2o Media
Please can you show me where ?
No, not is what I want...
It is same option for put all the documents with the field "empty cache" un-selected, forever
This is not possible. You would need two servers, staging and production. Do all the editing in the staging server than have a routine to transfer the changes to the production server.
The only other option is to edit the page unpublished. While in Manager you can view unpublished documents but the public cannot.
-
MODX Staff
- 12,272 Posts
You can actually do some clever things with the GetField snippet and private pages. Granted, this won’t scale well for large sites, but if you’re worried about a few key pages it works great. For instance say you have two content blocks you manually update on your home page. Kinda hackish but it works:
[#] Create a protected section on your site for the home page. Under this section create likewise protected copies of your desired home page.
[#] For the "staging version" of your home template, create it like you would normally create it with all the TVs and whatnot.
[#] For the "live" version of the home template, make a duplicate of the staging template. You also need to create a single TV: [*source*].
[#] You can remove any pure content TVs from this live template, because we’re going to replace them with [[GetField? ]] calls
[#] Replace the content TVs on the live templates with calls as mentioned in the last step to getfield, only using the source as the source TV created in the 3rd step.
[#] When you want to change the version of page used for the section, just change the ID of [*source*] and automagically the page updates to the new version
[#] You can do some other neat things with the [*source*] TV to make it easier to select the right page ... like use an @SELECT binding to choose from a specific parent directory and build a drop-down list.
Hope this helps as a starting point ... hurriedly posted but we’ve used this before and the client was happy. Enjoy!
Ryan Thrash, MODX Co-Founder
Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
Here is another solution that I use on one website. (Actually I use it for other reasons, but it does what you need too.)
I have a custom export module which works much like the built in HTML export facility, except that it copies the exported files directly to the MODx root (rather than leaving them in the export folder) and so makes them live. Once they are there, they will be served no matter what edits you make to the version within MODx, so MODx always contains your draft version. Every time you export the website you make all edits live. If you want to export on a page by page basis it is possible to write a plugin that exports individual pages when they are published or on some other event.
This scheme only work for pages which don’t require uncacheable snippets (dynamic content), since you can’t include them in exported content.