Hi Guillaume, Thanks for your feedback,
On Wed, Oct 26, 2011 at 7:06 PM, Guillaume Lerouge <[email protected]> wrote: > Hi Marius, > > glad to see progress on this. I just tested it and it's great for a first > version :-) > > I've been able to add and edit some fields pretty seamlessly, that's very > cool! We're moving closer and closer to turning XWiki into the easy-to-use > app development platform it longs to be. > > Please see my other remarks below. > > On Wed, Oct 26, 2011 at 5:31 PM, Marius Dumitru Florea < > [email protected]> wrote: > >> Hi devs, >> >> I just committed a prototype of the class editor that will be used by >> the Application Within Minutes. If you want to try it out, you can >> either checkout the feature-applicationWithinMinutes platform branch >> (see >> https://github.com/xwiki/xwiki-platform/tree/feature-applicationWithinMinutes/xwiki-platform-core/xwiki-platform-applicationWithinMinutes >> ) and build the latest XAR by yourself or you can download the >> snapshot I put at http://ubuntuone.com/5dPv28OKz1p3ysY2ypjzrZ . It >> requires XWiki Enterprise 3.2+ . Follow this steps after you import >> the XAR: >> >> * choose an existing class or any document if you want to create a new >> class >> * add an object of type XWiki.DocumentSheetBinding and set the sheet >> property to ApplicationWithinMinutes.ClassEditSheet >> * edit the class/document in "Inline form" edit mode (simply click on >> the Edit button) >> >> Notes: >> >> * I only tested the editor on Firefox for now but it should work on >> other browsers too >> * The "hint" and "required" meta properties are not saved yet. I >> included them on the prototype just to show you the direction I'm >> going in. >> >> A few words about the design: >> >> The class editor is an edit sheet for XWiki documents holding class >> definitions. The editor supports only property types described by >> FormFieldClass, which are grouped by FormFieldCategoryClass. For >> instance ApplicationWithinMinutes.TextArea has an object of type >> FormFieldClass which specifies the field icon, category and the list >> of meta (configuration) properties that should be displayed. Moreover, >> ApplicationWithinMinutes.TextArea holds a class definition with a >> single TextArea field that serves as a template for all TextArea >> fields added through the class editor. The class editor can store the >> default field values in the class template and can generate a basic >> class sheet (binding included). >> >> Open questions and limitations: >> >> (1) The editor relies heavily on JavaScript. If we're going to replace >> the current class editor with the one used by the Application Within >> Minutes then we need to decide if it needs to work without JavaScript. >> > > I don't think that's an issue, especially given that users with JavaScript > deactivated can always revert to the old interface if needed. The interface > is designed as a helper, it does not prevent the core functionality from > working so I believe it's an acceptable tradeoff. Well, the question was: On the long run, is it worth keeping two class editors? If not, then is it ok to have a class editor that works only with JavaScript enabled? (assuming we choose to keep only the editor used by the Application Within Minutes) > > (2) The editor doesn't save intermediary changes (like the current >> editor does when you add a new field or when you delete a field). All >> changes are saved when you hit Save. >> > > That's ok for now but I think that for the future it's important that when > clicking on the green checkmark a minor save be performed (is that in the > plans?). It would be too frustrating to create a long class and have all > your work lost due to a browser crash. I don't plan to make the green check mark save the class. I plan to make the Save & Continue work so that you can choose to save whenever you want, whatever changes you want. > > (3) I don't think the Preview button is really needed because the edit >> form already offers a preview of how the sheet will look like >> > > Agreed. > > (4) The problem with the Save & Continue button is this: the action >> servlet filter forwards the request based on the action_* request >> parameter. In order to prevent this (because I want to handle the >> submit by myself) I renamed the submit buttons to xaction_* but >> actionbuttons.js looks explicitly for action_saveandcontinue submit >> button, and since it doesn't find it, it doesn't include it in the >> POST request parameters, so I don't know the request is a Save & >> Continue request. >> > > If step-by-step saving can be implemented (see above), I don't think that's > a problem. I prefer to have the Save & Continue working. > > (5) Because I process the submit myself (i.e. the form action is '') I >> need to find a good way to handle errors so that the user doesn't >> loose unsaved changes due to an invalid value (e.g. invalid field >> name). >> > > Live validation would be a way to achieve that, step-by-step saving as > well. Indeed, but I think some server side checks are still needed so I need to handle server side errors even when live validation is on. > > (6) Although the UI allows it, you can't really swap the names of two >> fields (e.g. rename 'title' to 'description' and 'description' to >> 'title'). >> > > Live validation would allow to catch and prevent such cases. > > Great work! Thanks! What did you think about the in-place editing of the field pretty name? (same for the hint) Is it intuitive enough? Do you think users might miss it? Thanks, Marius > > Guillaume > > >> I'm waiting your feedback. >> >> Thanks, >> Marius >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs >> > > > > -- > Guillaume Lerouge > Sales - XWiki SAS > Skype: wikibc > Office: +33 1 45 42 40 90 > Mobile: +33 6 10 79 76 70 > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

