Search

Brock,

This is unbelievable!!! Thank you so much for your efforts and for sharing this with us. So cool! Also, thanks for the screencasts. That is so helpful!!!

Nick: I've actually been giving a lot of thought to what other types of subfields could be implemented, how they would be implemented (speaking to both the visuals and the code), and the use cases that would warrant their implementation. Two additional types that I'd really like to add are a checkbox and a radio button. The checkbox would be checkable and independent for each item, while the radio button would only allow for 1 item to be checked.

Checkbox example, with independent check states:

  • Option 1 [x]
  • Option 2 [ ]
  • Option 3 [x]
  • Option 4 [ ]

Radio example, with check state stolen from other items:

  • Option 1 ( )
  • Option 2 (•)
  • Option 3 ( )
  • Option 4 ( )

But as you mentioned, this starts to get to the point where the extension does more than its name suggests, so I've been giving a lot of weight to changing the name to Dynamic Field Group, providing people do want these other field types.

I think there are quite a few scenarios where we use Subsection Manager not because it's the best solution, but because it's the only solution. This, of course, is a testament to Nils making it the extremely versatile extension that it is. But ideally, with this extension I'd like to remove that need to default to Subsection Manager every time the basic need for dynamic fieldsets arrises, hence removing some of these one-way cross-section dependencies that really don't need to exist.

A great example is, once again, the track list example. For some music databases, it would actually be ideal to have tracks independent from the album. Every track would be an independent entry with a hefty amount of metadata (ID3 tags, maybe linking to an audio file as well), and you could attach each track to its respective album, as well as attach it to any compilation albums it might appear on. For this example, Subsection Manager absolutely nails it. This is where it shines.

But sometimes you just need a simple list of tracks, or list of phone numbers or list of names that need to be dynamic. In the past, I've went with 1 of 2 options: text area with some fancy parsing; or Subsection Manager. And while Subsection Manager can do it, it doesn't mean that it should.

So my big goal with this extension is to kind of alleviate that pressure we put on Subsection Manager to handle, well, everything.

Sorry for the novella, but you raised an excellent point regarding this and its overlap with SM, and I think it would be a great conversation to kind of figure out where this extension should stop and SM should pick up.

Brian: You are completely welcome! I'm just stoked that you guys are interested. I really hope you all can find a use for it!

Andrew: I've almost got validation rules working (well, it's working perfectly, but the lack of visual feedback when a specific field doesn't match the rule isn't very friendly), so there'll probably be another commit tonight for you to check out.

Edit

2.0dev5 is up and available here. Changes:

  • Added option to declare validation rules for textfields, per Andrew's suggestion; added 'number', 'email' and 'URI' pattern presets.
  • Added placeholder attribute to textfields, per Nick's suggestion.
  • Minor bugfixes

Sorry for the post rapid-fire. I just wanted to get this commit up before stepping out for the night. Thanks for the suggestions guys, keep them coming!

Congrats on an excellent extension and going the extra mile to provide screencasts! I see DTG as an excellent middle ground between Meta Keys and SSM.

Sorry for the novella, but you raised an excellent point regarding this and its overlap with SM, and I think it would be a great conversation to kind of figure out where this extension should stop and SM should pick up.

I think it depends on if the information needs to be related to other entries or if it's fine standalone. You raised in your screencast with Albums / Tracks idea. If you wanted to have more information about the Tracks, such as listens/metadata, or wanted the entries to be related to other entries, such as a User likes Track, then it starts to become the realm of SSM or SBL.

Nevertheless, great extension!

I think this extension really fills a gab and it's great to see another extension handling repeating fields. This extension has a great advantage over SSM: it shows its fields directly. In my eyes you shouldn't think too much about where you enter "Subsection Manager grounds" - we need more choices to handle this kind of tasks and the more appraches we have, the more flexible we can build the backends of our sites. Furthermore, both extensions share the same interface which will keep the exerience consistent.

You did a really great job in my eyes.

This looks awesome, but i cannot stop thinking: "why not use any type of field"? If we do not want to create separate section, and want to keep everything in a single section, then maybe there could still be a way to use any type (i mean, any type that can be added to a section) of field? So it would become more like a "field grouping and layout" thing. That would also allow filtering and sorting data-sources by those fields without a need for specific syntax (which you implemented in a nice way too, and i think that we could try to add similar way for filtering to SubsectionManager).

@ahwayakchih: I second that!

@brockpetrie: Your extension is excellent.

Damn good extension, will be using it right away.

For those of you who were looking forward to additional fieldtypes, I just posted a new version that adds Checkbox and Radio subfield types; screenshot attached. A big "thank you" for all the kind words and to those of you who are testing this out for me!

2.0dev6 is up and available here.

Changes:

  • Added 2 new fieldtypes: Checkbox and Radio. Checkbox allows for any amount of checked boxes in the subfield's column; Radio allows for only a single checked radio button in the subfield's column.
  • Fixed validation pattern presets (backslashes weren't being escaped).
  • Minor bugfixes and code improvements.
Attachments:
dtg_2dev6.png

Very cool. Thanks a lot.

Amaze Brock! kudos to you man!

Feature request: Ability to have dynamic values for select fields!

This looks like a wonderfully simplified version of SSM which will definitely cut dev time (even further!). One question... you use filtering in the (extremely useful) screencasts. Can we also filter by URL param?

Stuart: you certainly can! For example, at one point in my video i was filtering by chat-client:Skype to pull all the items that had a Skype entry. Instead, I could have filtered by chat-client:{$client}, added a new parameter to the page called 'client' and set that parameter to 'Skype' to achieve the same result.

Brendan: that sounds like it could be pretty bad-ass. Can you explain to me how you would see this working, maybe through a use case example?

Thanks. I'm sure I will use this soon and often.

@brock, filed a (not sure if it is or not bug) on github :) numeric validation on 0 errors.

Feature request: ability to limit the amount of entries added to the text group!

i.e Quiz, limit amount of possible answers.. checkbox for limit and field entry for limit count maybe?

Limit list of links/Album tracks etc..

Maybe hide the add field if limit is reached?? just firing it out there like init!

Finally tried Dynamic Text Group out today - nice. :-)

It is currently not displaying correctly if it is used inside a Subsection Tab. It seems to correctly save entries, but it doesn't display the surrounding controls, such as the move handle, create new button and delete buttons.

Attachments:
DTG in SST.png

@David: Have you really pulled the Stage submodule for Dynamic Text Group? :o)

@Nils, Dynamic Text Group is displaying correctly if it is not inside a SST. The SSM extension has its Stage submodule initiated.

Do I need to also initiate a Stage submodule inside DTG?

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