Search

Allen has made a presentation video on our goals for RC1 but I thought I'd supplement it with some more details since the video purposely omits a lot of technical explanations.

The following is a list of all the major conceptual changes currently under development for RC1:

  • Field templates abstraction

    Field definitions have been moved to a separate area called "Field Templates". Each field in a section has an associated field template, which can be changed at any time - e.g., to turn a select box into a tag list. Multiple fields may share the same field template.

  • Validation rules

    A validation rule is a regular expression coupled with an error message. Multiple validation rules may apply to a single field. When a rule's regular expression does not match its input, the corresponding error message will be displayed.

  • Subsection field type

    A subsection creates a "has-many" relationship between two sections A and B - e.g., an A entry has many B entries. A repeatable form for section B is displayed inside the form for section A. Subsections are not nestable, and there are no settings for constraining the number of B entries which can be added to an A entry.

  • No more section link field type

    With both subsection fields and XPath expressions in data source filters, section links no longer add much value to the system, so we have decided to remove them. Along with this removal goes the ability to have links from the table of one section to another. We're working on ways to reintroduce this in a generic, field-type-independent way, or otherwise make navigating between connected sections easier.

  • Introspection field type

    This is a type of automatic field, which is not displayed on entry forms but still adds values to the database. Introspection fields are used to combine values from multiple fields into a single value - e.g., an introspection field defined by Vol. {volume-number}, No. {issue-number} would contain the value "Vol. 122, No. 60" when the field Volume Number has the value "122" and the field Issue Number has the value "60".

    Introspection fields allow URL parameters to distribute across multiple fields - e.g., rather than use separate params like "/122/60" to filter Volume Number and Issue Number separately, a single param "/vol-122-no-60" could be used just to filter by this introspection field instead. They also have lots of other uses.

  • Dynamic XPath expressions in data source filter values

    This is the successor of param output; anywhere previously where you would have entered {$ds-my-param} in a filter value -- where $ds-my-param was created by selecting ID in the param output select box on the My Param data source -- can be replaced with the XPath expression {data/my-param/entry/@id}, which is evaluated on the DOMDocument object representing the page's currently-being-built XML.

    This means Symphony can no longer automatically determine data source execution order, so therefore data sources must be manually reorderable.

  • Data source omission rules

    The results of a data source can be omitted from the XML in the presence or absence of a given URL parameter.

  • User roles

    This has been explained elsewhere.

Brilliant. Thanks, Scott, for this breakdown, and Allen, for the sweet presentation.

Wow... Yeah thanks alot for sharing this with us guys - i'm really excited!

Looks great, guys. Really looking forward to getting into S2.

Absolutely stunning. I salute your power to once again excel yourself.

Thanks for the update.
If there is anything we can do to speed up development let us know! (Donations?!)

I gotta say, I'm not exactly going to miss section links as they existed in rev5. Sounds awesome!

I've not seen the video yet but those features/enhancements are excellent! In particular I'm looking forward to exploring the possibilities opened up by the DS Xpath Filtering.

Seems really interesting, can't wait to try it out.

HUZZAH!

Woooww! Now I`m happy:) When do we get our hands on it?

Great!

fantastic job guys!

Wow... this is getting better and better! I'm especially pleased to see you're finding the time to add some neat little UI-Improvements while spending day after day in search of perfect modularity -- text-helpers for section-fields really are among the things I missed the most while building my last Rev5-Site... Any hint how long it will take till RC1? It's hard to start another project with Rev5 after having seen that screencast ;)

Thanks for the fantastic work!

Yup, yum.

thanks for sharing y'all. i'm looking forward to it.

Sergeant Mac Eliot : "Long Tall Sally, she built sweet, she got everything, that Uncle John need. Aw baby, I'm gonna have me some fun, I'm gonna have me some fun, I'm gonna have me some fun. " - From the Predator movie

Scott wrote:

Along with this removal goes the ability to have links from the table of one section to another.

@Scott: Does this mean that select boxes with dynamic options do not exist anymore? Or does it just mean that those are simply saving actual field values, not ID based references (which ist the same in rev 5, I think)?

(Dynamic options for select boxes are a very useful feature, I think. But losing relationships when linked entries are renamed is not nice sometimes.)

Say I would like to build a news website. Every news entry should have one ore more new or already existing image galleries attached to it. Those galleries themselves are entries containing multiple images. How would you build this in Symphony 2 RC1?

I really like the field template concept. I can see extending it to semantically characterize those fields, which would open the door to tons of possibilities.

When do we get our hands on it?

Be patient! We're not really sure. I think we're about 50% done, which would equate to about 2 months of work left to go, but ...

If there is anything we can do to speed up development let us know! (Donations?!)

... the biggest distraction right now is our obligations to existing clients. Theoretically, Alistair and I should be working full-time on Symphony until RC1 is finished, but all sorts of crazy unplanned things can happen, so please don't consider my prediction as having anything remotely resembling accuracy. We don't need donations (but thanks for the very generous suggestion!), we just need time free of distractions.

Rowan (aka thewolf) has offered to help out by patching bugs in rev-5. Once we have a working RC1 version, we'll make the git repo available online so that anyone can make contributions, and hopefully the RC1 to S2-final dev cycle will go much faster.

@Scott: Does this mean that select boxes with dynamic options do not exist anymore?

Select box fields haven't changed much from rev-5, so they still have dynamic options. We've made dynamic options multi-selectable (so you can add options from multiple sources to a single select box), and also added some extra dynamic options like users, pages, page types, etc.

But losing relationships when linked entries are renamed is not nice sometimes.

I agree - this is an absolute showstopper for dynamic options. I'll make sure we fix this so that dynamic options are truly dynamic, even if we have to use two separate field types for static and dynamic lists. (You can add static-like options to a purely dynamic list by creating an entry for each static item in the section those options are pulled from.)

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details