Search

@nickdunn: I think the Subsection Manager usability would be simpler if either the selected item list or the source item list were shown, but not both at once. Since they contain separate tasks (selecting vs. editing/ordering/adding/removing), it isn’t necessary to see both lists at once. So my two cents on the vertical/horizontal layouts is to simply hide one list while using the other.

The highlighting of entries within the source list should be sufficient confirmation of which items belong to the selected list when selecting new ones. For long selected item lists, neither will summarize the whole thing at a glance, so why show a second partial summary?

Did you grab the latest version of the WMD Editor for the site? The version on GitHub isn’t up to day because I couldn’t figure out how to push the updates. Are you only getting the error in IE or do you see it in Firefox, Safari or Chrome?

One other item that may have nothing to do with the Subsection Manager is an error I get in IE6-8 regarding the WMD Editor […] And when I try to open a subsection entry for editing (in IE6-8), it starts to open but sticks on the spinning preloader.

That makes totally sense: As the Subsection Manager interface is completely JavaScript based all JavaScript errors caused by the core or any other extension will either make the Manager fail at some point or break completely.

@nickdunn: I think the Subsection Manager usability would be simpler if either the selected item list or the source item list were shown, but not both at once. Since they contain separate tasks (selecting vs. editing/ordering/adding/removing), it isn’t necessary to see both lists at once. So my two cents on the vertical/horizontal layouts is to simply hide one list while using the other.

That’s the way the Mediathek interface works. In my opinion it fails when you’re dealing with large lists.

Hello!

Since I’m new (and not so code-skilled), I’m learning Symphony features on local: I’ve noticed that when you drag and drop items from the Subsection Manager (or the previous edition, Mediathek) into a Textarea field, each img tag created refers to an image file through its absolute path:

img src=”http://site/workspace/images/an_image.jpg”

I was wondering if it’s possibile to make the img tag referring to the image file through a relative path (as in Joomla):

img src=”workspace/images/an_image.jpg”

so when a website is moved from local to remote or from a domain to another, all img tags are not compromised…

ps. this extension is great!

I was wondering if it’s possibile to make the img tag referring to the image file through a relative path (as in Joomla)

It would of course be possible. But I’d vote for using XSL to change the image element to match the structure you like to have. Have a look at the HTML Ninja Technique which can be used to match your images. Instead of using <xsl:copy-of select="/your/path/here" /> to output the textarea’s HTML you would use <xsl:apply-templates select="/your/path/here" />. This allows you to match your images like this:

<xsl:template match="img" priority="1">
    <img src="{concat($root, '/workspace', substring-after(@src, 'workspace'))}" />
</xsl:template>

The Ninja Technique is quite advanced but it is very useful. I’m not sure if you’re just starting to use Symphony or if you’re learning a new language (XSLT) simultaneously. So please feel free to ask questions and I’ll try to give you a more detailed introduction to this approach.

Ok, now I understand!

Yes, I’ve just started learning both Symphony and XSLT: I thought that all the “content” of a Textarea field could not be modified anymore, neither through the use of templates, since I’ve never considered html tags as potential nodes before your suggestion!

Thank you very much for the help!

I’m using the Unique Upload Field with Subsection Manager in Symphony 2.0.8RC2 and I’m having an issue where when I select a file it does not show up in the input box next to the button. It does, however, save just fine with the full file name and all that.

I checked and it only happens when I use the field with the Subsection Manager. However, I’m not getting an error in Firebug.

I’m not sure how to fix this issue as Firefox seems to handle upload fields in iframes in a strange way. Any ideas?

About the Timeline

As you all know the Subsection Manager is still in public beta. For those currently using it and for those watching it, a few notes on the timeline of the project:

I’m currently using the Subsection Manager in a few private projects myself to test the functionality and to find bugs and usability issues. My plan is to continue testing the extension during this month so if you’re running into problems that have not been mentioned on the GitHub bug tracker please post them now. I will not add new features at the moment as I want to get the current setup working first. The London meet-up will be the place to discuss the future of all three related components (Stage, Draggable and Subsection Manager). Depending on the time needed to fix the current issues this extension should be released during this summer.

I will not add new features at the moment as I want to get the current setup working first.

I have a feature that I may end up adding myself as it’s a requirement on a current project: to have the list of “selectable” entries (and the keyword search) underneath scoped so that it only shows entries assigned to the parent. Put simply, the option to disable the sharing of child entries between parent entries.

I’m using this in a scenario to allow a user to select team members of a rugby club and assign awards to them each season. So the parent section “Seasons”, a user types the year e.g. “2009” and there is a Subsection Manager where the user creates entries that contain two text fields:

  • Player Name
  • Award Title

The user is becoming extremely confused when the same player receives a different award over two seasons. They are adding the award to the first season without issue, but when adding the award to the second season they find the player and add him, but then edit the player’s award, which then changes the entry assigned to the first season. He isn’t grasping that he needs to create a brand new entry.

So this can be solved by scoping the search only to entries that have previously been created against the current parent entry.

I’m thinking this is quite a simple addition by means of:

  • adding a checkbox to the Subsection Manager config
  • if checked, add the parent entry ID to the queries that find child entries

If you’ll accept this as a feature addition I’m happy to do the coding and send a pull request to you.

Actually this is not as simple as it seems is it? Because the only explicit link a child has to a parent is when it is selected via the Subsection Manager. There’s no way of attaching to the child which parent entry it was created with. Unless the child is given something like a Select Box Link field that is prepopulated and hidden.

Hmm :-/

However I do think this is something I think the Subsection Manager should provide by default, because it would make it infinitely more powerful. It could then be used, for example, for storing name/value pairs.

Imagine I had a Products section and needed to store arbitrary specification attributes about each one (each product has unlimited attributes, perhaps unique to that item). In its current guise I can do this, but using the keyword search would yield all attributes from all products. Really, I’d want this to only contain the attributes I have created for this single products, so I can attach/remove/re-attach at will.

So while there are plenty of use cases that Subsection Manager fulfils right now, where you want the “pool” of entries to be system-wide (e.g. as a central media asset manager, where it evolved from Mediathek) I can also think of use cases where you do not want the pool to show all entries.

Quite how this is achieved, I’m not sure.

Perhaps Subsection Manager needs to keep track of when child entries are created, and log these against the parent ID. If you choose to scope your subsection to the parent entry, then it queries from this list instead of all entries.

Apologies for thinking out loud!

I have a feature that I may end up adding myself as it’s a requirement on a current project: to have the list of “selectable” entries (and the keyword search) underneath scoped so that it only shows entries assigned to the parent.

I’d love to see this feature as well.

One thing I’m not sure if it’s a bug or a feature request has to do with the drag-and-drop functionality and how it deals with non-image entries.

For example, if you create an entry that’s just a line of text and drop it into a text area you will get that text as well as the text “Remove Item”. That last bit is a bug, I’m sure, but when dropping the entry in all that results is text.

What I would prefer, in all cases, was for the Subsection Manager to drop a placeholder of some sort which would, in essence, allow me to use the XSLT Ninja Technique to reference a specific node in the XML. This way if it wasn’t an image but was instead a video or text node, I could use XSLT to apply it exactly how I wanted.

The reason I suggest this is because as of right now I have to use the Ninja Technique to modify the images for JIT manipulation anyway. If I could build them from the ground up outright it was be so much more powerful.

Under such a situation the resulting XML might look like this:

<data>
    <test-section>
        <entry>
            <text>
                <p>Lorem Ipsum <span id="01" Dolor Sit Amet.</p>
            <text>
            <subsection-field>
                <entry id="1">
                    /* and whatever info just here */
                </entry>
            </subsection-field>
        </entry>
    </text-section>
</data>

With XSLT I could target the specific node group, which I’d know ahead of time, then the specific entry within that group. I could then apply the code however I wanted.

This would take the extension from being rather powerful and make it extremely powerful. It could be used as a system for managing citations. It could be used more easily to manage figures and diagrams that might not sit exactly in the markup. In short, it could do just about anything.

As I said, I’m not sure how much of this is a feature request and now much is a bug notice. It’s just something I’d like to see Subsection Manager handle properly.

Nick, thanks for thinking out loud: This is a great idea that should definitly be part of version 1.1, but I think it’s out of scope for the first stable release. The use cases for a subsection are … um … varying: there are so many possibilities. My main goal is to keep things simple at the moment to get out a stable release of the current feature set soon. I’m open for all these inspiring feature requests but think that they should be added on top of the solid base of 1.0 final.

Thinking of your idea — maybe it would be possible to make use of the category and tag filter and some JavaScript to mimic the needed behaviour with the current build. I’ll think about that.

For example, if you create an entry that’s just a line of text and drop it into a text area you will get that text as well as the text “Remove Item”. That last bit is a bug, I’m sure, but when dropping the entry in all that results is text.

Doug, the real bug here is the fact that the Subsection Manager allows you to drag items that are not related to files.

What I would prefer, in all cases, was for the Subsection Manager to drop a placeholder of some sort which would, in essence, allow me to use the XSLT Ninja Technique to reference a specific node in the XML. This way if it wasn’t an image but was instead a video or text node, I could use XSLT to apply it exactly how I wanted.

The Subsection Manager should add links to the source files for all attachments that are not images. So you should be able to manipulate the output using the Ninja Technique. If this is not the current behaviour, this is a bug.

@Nils: I haven’t tested to see how it reacts with documents instead of images. My one use-case I know it doesn’t quite handle properly are raw text nodes.

The test I did was to create a Category section that is then connected to a Subsection Manager field in another section. I entered in a category (single text box) and then dragged it into another text field. The result was just the raw text followed by “Remove Item”.

One thing I’ve noticed is that Markdown has no ability to create a span tag. So, to modify my idea, what if it always created a link?

As such…

[file or first text node](url for file else # "subsection field name, id")

…would result in…

<a href="http://example.com/image.jpg" title="images, 1">image.jpg</a>

…if it was a file and…

<a href="#" title="references, 1">Lorem Ipsum Dolor Sit Amet</a>

…if it was a text node. This would keep all the XHTML and Markdown valid and provide you with an easy mechanism to target the appropriate XML with the Ninja Technique.

Did you grab the latest version of the WMD Editor for the site? The version on GitHub isn’t up to day because I couldn’t figure out how to push the updates. Are you only getting the error in IE or do you see it in Firefox, Safari or Chrome?

@dougoftheabaci: I tried out WMD Editor 1.0.0 and 1.0.1. I couldn’t replicate the Chrome problem of a click to open a subsection entry linking to an uploaded image in a subsection. But I tested it in Firefox, IE, Opera, and Chrome. IE6-8 were the only ones giving me the javascript error related to WMD, and the only ones where subsection entries would begin to open and hang with the preloader spinning.

But as I mentioned in one of the earlier posts, I had mixed results with my update to 2.0.8RC2. Replacing the symphony directory in its entirety may have been too ham-fisted for proper testing. So I’ll try to get a clean update before I report any more issues.

That’s the way the Mediathek interface works. In my opinion it fails when you’re dealing with large lists.

@Nils: I’m still working with my first test site in Symphony, and I’ve only given Mediathek light use, but I did use it with a section containing many entries. Although the Subsection Manager does improve on Mediathek in many ways, I don’t understand the motivation for showing both the selected and source lists at the same time.

When I first create a selected items list, there are no entries to summarize. If I only want a few items from a large pool, I can easily keep a mental account as I select them. If I plan to create a long list from my large pool, the ability to see only a few items of that selected list at a time is of limited value, IMO.

When a list already exists, I see it prior to selecting more entries. When I scroll over my long source list, I am not scrolling to learn what is already selected but to select/deselect items. All I need to know at that point is the status of each item as I consider it. The only thing I might need to know about the selected list while selecting is the length, and that could be a simple count rather than a separate scrollable list that can’t be seen in a glance and requires leaving the selection process to scroll and count.

So in that respect Mediathek seems right on. But I’m probably clueless about some additional functionality that has been requested.

My main goal is to keep things simple

I realised a very simple solution! By simply hiding the search box this problem is alleviated — the user can no longer select child entries attached to other parent entries. I’ve modified my CSS just to add input.browser { visibility:hidden; } which is good enough for me!

This could even be toggle-able by a checkbox in the field setup… ;-)

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