From: Dan M. <dan...@gm...> - 2009-11-17 14:35:31
|
Several of us are looking into creating a web-forms based administration client for eXist. We have some very early analysis we would like to share with the eXist development team. The tools will be optionally loaded as a set of applications. For example the application path might be: /db/apps/user-manager For the user manager and /db/apps/collection-manager We know that we will have a user-manager form and a few other small XForms but it seems the most complicated portion is a tool that will allow the user to browse to a specific collection and then take an action. We will start with a very simple browser that has a path of HTML links but we may add a more complex JQuery tree browser in the future. There is a sample collection browser here: http://demo.syntactica.com/exist/rest/db/cust/exist-admin/apps/collection-browser/views/collection-browser-html.xq?collection=/db/cust/exist-admin/apps/collection-browser We have identified 22 possible actions and we have created a small database of each action so they can be prioritized and assigned to our team. A listing is here: http://demo.syntactica.com/exist/rest/db/cust/exist-admin/apps/collection-browser/views/list-items.xq Some of these actions will be very simple. A form with simple text fields. For example the rename function will be very simple. Other actions such as "edit index" will be much more complex since it must guild the user through the process of creating indexes on the correct elements. So our questions are: Is this a sufficient list to start? What items are missing? How would you prioritize each collection action? Please let us know if you have any feedback. - Dan -- Dan McCreary Semantic Solutions Architect syntactica.com 952-460-1674 VOIP: 111@69.199.167.229 |
From: Adam R. <ad...@ex...> - 2009-11-17 15:00:22
|
> The tools will be optionally loaded as a set of applications. > > For example the application path might be: > > /db/apps/user-manager > > For the user manager and > > /db/apps/collection-manager May I suggest that they actually live under - /db/system/webclient/... > So our questions are: Is this a sufficient list to start? What items are > missing? How would you prioritize each collection action? You need to emulate all of the functionality that is provided by the existing Java Admin client, in addition to that it would be nice if you could connect to other remote servers, e.g. like Oracle SQL Developer. Also you would need to be able to evaluate and execute queries against a specified context. -- Adam Retter eXist Developer { United Kingdom } ad...@ex... irc://irc.freenode.net/existdb |
From: Evgeny G. <gaz...@gm...> - 2009-11-17 15:11:04
|
what about different admin apps in fs or db, which can connect to any db like admin client panel? So not reason to copy this apps from one db to another and update them in all db when new versions are released. ------ |
From: Thomas W. <tho...@gm...> - 2009-11-17 15:40:46
|
I think the web admin application should be able to run from both fs or db without additional configuration other then just importing the code into the db. I event think this should be feature of the application - to copy itself from fs into the db or out of the db into the fs. The user of the application will choose which instance to use. We can have an identical directory/collection structure something like: fs: ...webapp/admin/{application-name} db: /db/admin/{application-name} I think it will be not practical to locate applications under /db/system because then we will be mixing code with configuration data. Adam, connecting to a remote server is an essential feature. Can we do this only by using XQueries or we will need same extra JAVA code? Thomas ------ Thomas White Mobile:+44 7711 922 966 Skype: thomaswhite gTalk: thomas.0007 Linked-In:http://www.linkedin.com/in/thomaswhite0007 facebook: http://www.facebook.com/thomas.0007 2009/11/17 Evgeny Gazdovsky <gaz...@gm...> what about different admin apps in fs or db, which can connect to any > db like admin client panel? > So not reason to copy this apps from one db to another and update them > in all db when new versions are released. > > ------ > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > |
From: Adam R. <ad...@ex...> - 2009-11-17 15:46:37
|
> I think it will be not practical to locate applications under /db/system > because then we will be mixing code with configuration data. This is not nessecarily the case /db/system/config - contains configuration data. As far as I am aware there is now nothing else in /db/system. There did used to be data in /db/system/temp in the form of persisted in-memory fragments. > Adam, connecting to a remote server is an essential feature. Can we do this > only by using XQueries or we will need same extra JAVA code? > Thomas I suspect this could be achieved via the http module. I would certainly like to see this application developed to use the http rest protocol of eXist. > > ------ > > Thomas White > > Mobile:+44 7711 922 966 > Skype: thomaswhite > gTalk: thomas.0007 > Linked-In:http://www.linkedin.com/in/thomaswhite0007 > facebook: http://www.facebook.com/thomas.0007 > > > > 2009/11/17 Evgeny Gazdovsky <gaz...@gm...> >> >> what about different admin apps in fs or db, which can connect to any >> db like admin client panel? >> So not reason to copy this apps from one db to another and update them >> in all db when new versions are released. >> >> ------ >> >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >> 30-Day >> trial. Simplify your report design, integration and deployment - and focus >> on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Exist-development mailing list >> Exi...@li... >> https://lists.sourceforge.net/lists/listinfo/exist-development > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > > -- Adam Retter eXist Developer { United Kingdom } ad...@ex... irc://irc.freenode.net/existdb |
From: Thomas W. <tho...@gm...> - 2009-11-17 15:34:18
|
I think the web admin application should be able to run from both fs or db without additional configuration other then just importing the code into the db. I event think this should be feature of the application - to copy itself from fs into the db or out of the db into the fs. The user of the application will choose which instance to use. We can have an identical directory/collection structure something like: fs: ...webapp/admin/{application-name} db: /db/admin/{application-name} I think it will be not practical to locate applications under /db/system because then we will be mixing code with configuration data. Adam, connecting to a remote server is an essential feature. Can we do this only by using XQueries or we will need same extra JAVA code? Thomas ------ Thomas White Mobile:+44 7711 922 966 Skype: thomaswhite gTalk: thomas.0007 Linked-In:http://www.linkedin.com/in/thomaswhite0007 facebook: http://www.facebook.com/thomas.0007 2009/11/17 Evgeny Gazdovsky <gaz...@gm...> > what about different admin apps in fs or db, which can connect to any > db like admin client panel? > So not reason to copy this apps from one db to another and update them > in all db when new versions are released. > > ------ > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > |
From: Dan M. <dan...@gm...> - 2009-11-17 16:02:38
|
> I think it will be not practical to locate applications under /db/system because then we will be mixing code with configuration data. I totally agree with this point. We should note require a user to backup program files (C:/Program Files) when all they want to backup is their configuration data. I like the /db/XXX/apps approach since we can build highly-modular apps that will have a plugin architecture. - Dan On Tue, Nov 17, 2009 at 9:33 AM, Thomas White <tho...@gm...> wrote: > I think the web admin application should be able to run from both fs or db > without additional configuration other then just importing the code into the > db. I event think this should be feature of the application - to copy itself > from fs into the db or out of the db into the fs. > The user of the application will choose which instance to use. > > We can have an identical directory/collection structure something like: > > fs: ...webapp/admin/{application-name} > db: /db/admin/{application-name} > > I think it will be not practical to locate applications under /db/system > because then we will be mixing code with configuration data. > > Adam, connecting to a remote server is an essential feature. Can we do this > only by using XQueries or we will need same extra JAVA code? > Thomas > > > ------ > > Thomas White > > Mobile:+44 7711 922 966 > Skype: thomaswhite > gTalk: thomas.0007 > Linked-In:http://www.linkedin.com/in/thomaswhite0007 > facebook: http://www.facebook.com/thomas.0007 > > > > 2009/11/17 Evgeny Gazdovsky <gaz...@gm...> > > what about different admin apps in fs or db, which can connect to any >> db like admin client panel? >> So not reason to copy this apps from one db to another and update them >> in all db when new versions are released. >> >> ------ >> >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >> 30-Day >> trial. Simplify your report design, integration and deployment - and focus >> on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Exist-development mailing list >> Exi...@li... >> https://lists.sourceforge.net/lists/listinfo/exist-development >> > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > > -- Dan McCreary Semantic Solutions Architect syntactica.com 952-460-1674 VOIP: 111@69.199.167.229 |
From: Adam R. <ad...@ex...> - 2009-11-17 15:44:05
|
> what about different admin apps in fs or db, which can connect to any > db like admin client panel? > So not reason to copy this apps from one db to another and update them > in all db when new versions are released. Personally I think it should be an XQuery Application which can be deployed into the database. i.e. you are provided with a .xqa archive file and you give that to eXist and it unpacks and installs the application into the database. If you dont want to install it then you dont have to, you could even remove the application. I dont see any value in being able to install it to the file-system or the db? I think just the db. If a new version is released, then you can simply give eXist the new .xqa file and it will unpack it and overwite the old one. These .xqa application versions could be released seperately to eXist itself. > ------ > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > -- Adam Retter eXist Developer { United Kingdom } ad...@ex... irc://irc.freenode.net/existdb |
From: Wolfgang M. <wol...@ex...> - 2009-11-17 15:54:28
|
[Adam wrote:] > Personally I think it should be an XQuery Application which can be > deployed into the database. i.e. you are provided with a .xqa archive > file and you give that to eXist and it unpacks and installs the > application into the database. If you dont want to install it then you > dont have to, you could even remove the application. I dont see any > value in being able to install it to the file-system or the db? I > think just the db. No, I don't see why we should artificially limit the application. It should be possible to deploy the admin webapp in any location. Remember that people may want to embed eXist into their own webapp and you don't know in advance what will work best for them. [Thomas wrote:] > Adam, connecting to a remote server is an essential feature. Can we do this only by using XQueries or we > will need same extra JAVA code? Why do you need to connect to a remote server? It will be a web application. You can deploy it on every server you like without compromising security more than by opening REST or XMLRPC access. I don't think remote access would have any benefits. We shouldn't set the requirements too high. The client should be lightweight. As I said before, it should ideally work from a phone. Wolfgang |
From: Adam R. <ad...@ex...> - 2009-11-17 16:06:25
|
2009/11/17 Wolfgang Meier <wol...@ex...>: > [Adam wrote:] >> Personally I think it should be an XQuery Application which can be >> deployed into the database. i.e. you are provided with a .xqa archive >> file and you give that to eXist and it unpacks and installs the >> application into the database. If you dont want to install it then you >> dont have to, you could even remove the application. I dont see any >> value in being able to install it to the file-system or the db? I >> think just the db. > > No, I don't see why we should artificially limit the application. It > should be possible to deploy the admin webapp in any location. > Remember that people may want to embed eXist into their own webapp and > you don't know in advance what will work best for them. Ah of course, I always forget embedded mode... I guess because I have never used eXist in that way in my projects. > [Thomas wrote:] >> Adam, connecting to a remote server is an essential feature. Can we do this only by using XQueries or we >> will need same extra JAVA code? > > Why do you need to connect to a remote server? It will be a web > application. You can deploy it on every server you like without > compromising security more than by opening REST or XMLRPC access. I > don't think remote access would have any benefits. It is often easier to manage all servers from a single location. If you have multiple servers having to connect to each in turn and manage them is more difficult, you should also be able to see the status of all servers at once. > We shouldn't set the requirements too high. The client should be > lightweight. As I said before, it should ideally work from a phone. How about if the application was just XHTML+JS and you could literally launch it from a file/folder on the desktop. The server side would of course be REST+XQuery, but the client could just use AJAX to talk to it. I think this would offer the cleanest most possible approach. i.e. Develop the app in two parts - the server side REST+XQuery part which could sit in /db/system/webclient and the client side part which could even just be a single XHTML file and you could deploy this anywhere, including your palm pre or iPhone. > Wolfgang > -- Adam Retter eXist Developer { United Kingdom } ad...@ex... irc://irc.freenode.net/existdb |
From: Thomas W. <tho...@gm...> - 2009-11-17 16:02:02
|
Wolfgang, I think we can start first with the full featured, interface rich web app that is to replace the JAVA client and then create a scaled down light version for a phone. Thomas ------ Thomas White Mobile:+44 7711 922 966 Skype: thomaswhite gTalk: thomas.0007 Linked-In:http://www.linkedin.com/in/thomaswhite0007 facebook: http://www.facebook.com/thomas.0007 2009/11/17 Wolfgang Meier <wol...@ex...> > [Adam wrote:] > > Personally I think it should be an XQuery Application which can be > > deployed into the database. i.e. you are provided with a .xqa archive > > file and you give that to eXist and it unpacks and installs the > > application into the database. If you dont want to install it then you > > dont have to, you could even remove the application. I dont see any > > value in being able to install it to the file-system or the db? I > > think just the db. > > No, I don't see why we should artificially limit the application. It > should be possible to deploy the admin webapp in any location. > Remember that people may want to embed eXist into their own webapp and > you don't know in advance what will work best for them. > > [Thomas wrote:] > > Adam, connecting to a remote server is an essential feature. Can we do > this only by using XQueries or we > > will need same extra JAVA code? > > Why do you need to connect to a remote server? It will be a web > application. You can deploy it on every server you like without > compromising security more than by opening REST or XMLRPC access. I > don't think remote access would have any benefits. > > We shouldn't set the requirements too high. The client should be > lightweight. As I said before, it should ideally work from a phone. > > Wolfgang > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > |
From: Loren C. <lor...@gm...> - 2009-11-17 16:11:08
|
We would just need the appropriate CSS file for the mobile phone view. We could even test to see if the request is coming from a phone browser and have a configuration to optionally limit the functionality when accessing from a phone. We should design the interface for the web and document what the class and/or id tag attributes maps to. We can then also design the CSS to map the appropriate entries to the display and not show extraneous views. Loren On Nov 17, 2009, at 10:01 AM, Thomas White wrote: > Wolfgang, > > I think we can start first with the full featured, interface rich web app that is to replace the JAVA client and then create a scaled down light version for a phone. > Thomas > > ------ > > Thomas White |
From: Dan M. <dan...@gm...> - 2009-11-17 16:45:15
|
> Small comments, can we group actions: backup, index, trigger, versioning & etc. Great suggestion! I will do this. - Dan |
From: Thomas W. <tho...@gm...> - 2009-11-17 16:57:10
|
Dan, Would you like to include all applications and actions as nested bullet point lists in your next post. This way we can see the whole picture and make our suggestions to the list of actions easily. Regards, Thomas ------ Thomas White Mobile:+44 7711 922 966 Skype: thomaswhite gTalk: thomas.0007 Linked-In:http://www.linkedin.com/in/thomaswhite0007 facebook: http://www.facebook.com/thomas.0007 2009/11/17 Dan McCreary <dan...@gm...> > > Small comments, can we group actions: backup, index, trigger, versioning > & etc. > > Great suggestion! I will do this. > > - Dan > > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > > |
From: Dmitriy S. <sha...@gm...> - 2009-11-18 03:02:28
|
On Tue, 2009-11-17 at 08:35 -0600, Dan McCreary wrote: > There is a sample collection browser here: I did use mySQL for long time & phphMyAdmin is very good tool for database management. Can we extract best-practice from that tool (layouts, menu structure & so on)? http://www.phpmyadmin.net/home_page/try.php -- Cheers, Dmitriy Shabanov |
From: Thomas W. <tho...@gm...> - 2009-11-18 10:11:26
|
I think it is important, when we create the set of actions, to separate the code that perform the action from the code that generates a particular user interface. This way we can easily add new flavours of the user interface, say a version for iPhone. Thomas ------ Thomas White Mobile:+44 7711 922 966 Skype: thomaswhite gTalk: thomas.0007 Linked-In:http://www.linkedin.com/in/thomaswhite0007 facebook: http://www.facebook.com/thomas.0007 2009/11/18 Dmitriy Shabanov <sha...@gm...> > On Tue, 2009-11-17 at 08:35 -0600, Dan McCreary wrote: > > There is a sample collection browser here: > > I did use mySQL for long time & phphMyAdmin is very good tool for > database management. Can we extract best-practice from that tool > (layouts, menu structure & so on)? > > http://www.phpmyadmin.net/home_page/try.php > > -- > Cheers, > > Dmitriy Shabanov > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > |
From: Wolfgang M. <wol...@ex...> - 2009-11-18 10:36:45
|
> I think it is important, when we create the set of actions, to separate the > code that perform the action from the code that generates a particular user > interface. But isn't that the normal approach when using XForms? Ok, if you generate the XForms from an XQuery, it is possible to pack business logic into the query. I agree we shouldn't do that ;-). Wolfgang |
From: Adam R. <ad...@ex...> - 2009-11-18 10:44:50
|
I just had a thought which is this - Any web based interface that we create will NOT be suitable for embedded mode! So I think we need to define what we are trying to achieve here. Are we trying to create a client which is suitable for any mode of operation, or a client that is only suitable for use with remote servers? 2009/11/18 Wolfgang Meier <wol...@ex...>: >> I think it is important, when we create the set of actions, to separate the >> code that perform the action from the code that generates a particular user >> interface. > > But isn't that the normal approach when using XForms? Ok, if you > generate the XForms from an XQuery, it is possible to pack business > logic into the query. I agree we shouldn't do that ;-). > > Wolfgang > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > -- Adam Retter eXist Developer { United Kingdom } ad...@ex... irc://irc.freenode.net/existdb |
From: Thomas W. <tho...@gm...> - 2009-11-18 11:34:20
|
Wolfgang, The solution for the web client I have in mind id not based on XForms. It is a XQuery+ XSLT application fframework, that can generate content in two modes - interactive AJAX pages and plain HTML pages. If we have all actions in separated modules we can easily re-use them in whatever context we need. Thomas ---- 2009/11/18 Wolfgang Meier <wol...@ex...> > > I think it is important, when we create the set of actions, to separate > the > > code that perform the action from the code that generates a particular > user > > interface. > > But isn't that the normal approach when using XForms? Ok, if you > generate the XForms from an XQuery, it is possible to pack business > logic into the query. I agree we shouldn't do that ;-). > > Wolfgang > |
From: Thomas W. <tho...@gm...> - 2009-11-18 10:15:09
|
Dmitriy, This is a good point. It may help us if you can provide some screenshots with the features you believe are useful or particularly well designed. Thomas ------ Thomas White Mobile:+44 7711 922 966 Skype: thomaswhite gTalk: thomas.0007 Linked-In:http://www.linkedin.com/in/thomaswhite0007 facebook: http://www.facebook.com/thomas.0007 2009/11/18 Dmitriy Shabanov <sha...@gm...> > On Tue, 2009-11-17 at 08:35 -0600, Dan McCreary wrote: > > There is a sample collection browser here: > > I did use mySQL for long time & phphMyAdmin is very good tool for > database management. Can we extract best-practice from that tool > (layouts, menu structure & so on)? > > http://www.phpmyadmin.net/home_page/try.php > > -- > Cheers, > > Dmitriy Shabanov > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > |
From: Wolfgang M. <wol...@ex...> - 2009-11-18 12:53:16
|
Thomas, > The solution for the web client I have in mind id not based on XForms. It > is a XQuery+ XSLT application fframework, that can generate content in two > modes - interactive AJAX pages and plain HTML pages. aha, so this is an important question. I have no problem with AJAX in principle. Actually, I already started to create an XQuery module which generates code for Yahoo UI in the admin client (see webapp/admin/yahoo-ui.xql). It is used for the tabs in the profiling view and I planned to extend it to cover other widgets. However, we should make sure that everyone interested can contribute to the project. Please correct me if I'm wrong, but I think an XForms based interface will allow more people to help. XForms is an important tool in the XML toolbox which could be demonstrated this way. On the other hand, some features won't be possible with plain XForms, e.g. tree views (though I personally think web applications should not try to mimic every feature of a desktop app). Well, we fortunately have some XForms experts here (Dan, Kurt)... Wolfgang |
From: COUTHURES A. <ala...@ag...> - 2009-11-18 13:56:00
|
Wolfgang, > Thomas, > > >> The solution for the web client I have in mind id not based on XForms. It >> is a XQuery+ XSLT application fframework, that can generate content in two >> modes - interactive AJAX pages and plain HTML pages. >> > > aha, so this is an important question. I have no problem with AJAX in > principle. I should also say that I have no problem with AJAX too, because XSLTForms is based on AJAX ;-) > Actually, I already started to create an XQuery module > which generates code for Yahoo UI in the admin client (see > webapp/admin/yahoo-ui.xql). It is used for the tabs in the profiling > view and I planned to extend it to cover other widgets. > XSLTForms is using XSLT to generate vanilla HTML+Javascript. YUI objects could also be generated (I was thinking of CSS extensions to activate their generation). > However, we should make sure that everyone interested can contribute > to the project. Please correct me if I'm wrong, but I think an XForms > based interface will allow more people to help. Yes, I think that XForms is easier to learn than complex Javascript (I've been developing with YUI too, I even created a customized DataTable class with horizontal and vertical scrollers...!). > XForms is an important > tool in the XML toolbox which could be demonstrated this way. XRX has to be demonstrated. > On the > other hand, some features won't be possible with plain XForms, e.g. > tree views (though I personally think web applications should not try > to mimic every feature of a desktop app). > I think that such extensions have to be considered. AJAXForms, XSLTForms ancestor, had already similar capabilities but I had not yet time to reconsider them. > Well, we fortunately have some XForms experts here (Dan, Kurt)... > I don't consider me as an XForms expert yet... But I can improve XSLTForms in many interesting ways (XPath 2.0, XQuery and XSLT 1.0 within XForms, ...) ;-) -Alain |
From: Dan M. <dan...@gm...> - 2009-11-18 13:57:38
|
I believe that we can decompose the problem into a few levels. The current approach is to define a set of administrative "actions" on administrative "objects". We now have around 22 actions on the collection object. We will also have add/edit actions for users and perhaps roles. Most of these actions will have: 1) *Enablement rules:* these determine the action trigger is enabled based on context. For example if you don't have write access to a collection the "Move" button should not ever be enabled when your collection browser is on that collections. 2) *A RESTful interface*. A simple XQuery script that takes URL parameters (or possible a POST if there are larger data sets involved) 3) *One or more UI forms.* One or more user interface forms based on the capabilities of the browser Some of these "forms" may or may not need XForms. For example the delete "form" just has a smile conform dialog. No need for a complex XForms application here. Kurt and I have both created variations of hierarchical browsers using XForms. You can see a few of them in the XForms cookbook here: http://en.wikibooks.org/wiki/XForms/Outline_Editor http://en.wikibooks.org/wiki/XForms/Graph_Viewer We are not suggesting that we must use XForms for navigation. There are many, many options that we may still explore. There are hundreds of JavaScript libraries for viewing trees. JQuery also has some nice tree-view that may be easier to use. http://jquery.bassistance.de/treeview/demo By creating RESTful interfaces for each action we can do UNIT testing on the actions and also allow anyone to easily extend the interface to match their requirements. HTML-5 may include a DataGrid viewer that has an option for viewing trees. If this is "built in" to future browsers we want to be able to migrate to that user interface. I think the key is that we first of all identify the administration objects, the actions and then build RESTful interfaces that can have aggressive UNIT testing. Simple actions like making sure that we prevent a collection from being moved into itself will need to be done. Creating RESTful interfaces for each function should not be technically hard. Just time-consuming. Creating XForms front ends to these RESTful services should also not be difficult. The biggest difficulty I see is doing high-quality usability testing in some objective way when we consider that we have many different types of users. I do not claim to have a strong background in usability testing other than being able to do the obvious things like counting the number of clicks or avoiding scrolling through 10,000 collection items to backup a collection. I think our objectives for the first pass should be to create a modular architecture for administrative functions so that it can be easily tested and extended. Once we do this the details can be worked on by a larger community that includes usability testing. There has also been the suggestion that we wrap some of these functions in EXQuery libraries to see if the tools can be portable to other XQuery platforms such as MarkLogic or DB2. We certainly have at least one customer that would like to use one set of administrative tools to manage both eXist and MarkLogic even though the concept of collections is clearly not uniform across eXist, MarkLogic and DB2. The separation of concerns would allow a larger community to build interfaces (Objective-C for the iPhone for example) to the RESTful actions. We have got thumbs up on this approach from several people. Keep the great ideas coming! - Dan On Wed, Nov 18, 2009 at 6:22 AM, Wolfgang Meier <wol...@ex...>wrote: > Thomas, > > > The solution for the web client I have in mind id not based on XForms. > It > > is a XQuery+ XSLT application fframework, that can generate content in > two > > modes - interactive AJAX pages and plain HTML pages. > > aha, so this is an important question. I have no problem with AJAX in > principle. Actually, I already started to create an XQuery module > which generates code for Yahoo UI in the admin client (see > webapp/admin/yahoo-ui.xql). It is used for the tabs in the profiling > view and I planned to extend it to cover other widgets. > > However, we should make sure that everyone interested can contribute > to the project. Please correct me if I'm wrong, but I think an XForms > based interface will allow more people to help. XForms is an important > tool in the XML toolbox which could be demonstrated this way. On the > other hand, some features won't be possible with plain XForms, e.g. > tree views (though I personally think web applications should not try > to mimic every feature of a desktop app). > > Well, we fortunately have some XForms experts here (Dan, Kurt)... > > Wolfgang > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > -- Dan McCreary Semantic Solutions Architect syntactica.com 952-460-1674 VOIP: 111@69.199.167.229 |
From: Adam R. <ad...@ex...> - 2009-11-18 15:15:10
|
> By creating RESTful interfaces for each action we can do UNIT testing on the > actions and also allow anyone to easily extend the interface to match their > requirements. You can also decide on the UI later, or create more than one possible UI that uses the same back end. I suggest that all back-end REST interfaces are constructed and tested in advance of any UI code! I would also suggest that the back-end should follow an MVC approach... well at least the M and C parts for the time being! -- Adam Retter eXist Developer { United Kingdom } ad...@ex... irc://irc.freenode.net/existdb |
From: Thomas W. <tho...@gm...> - 2009-11-18 15:38:50
|
I would like to propose an "object-action" name convention. For example: collection-create collection-delete collection-copy collection-move index-create index-update To me it is more natural to define the entity I am going to work with first, and then talk about the action. Thomas ------ Thomas White Mobile:+44 7711 922 966 Skype: thomaswhite gTalk: thomas.0007 Linked-In:http://www.linkedin.com/in/thomaswhite0007 facebook: http://www.facebook.com/thomas.0007 2009/11/18 Adam Retter <ad...@ex...> > > By creating RESTful interfaces for each action we can do UNIT testing on > the > > actions and also allow anyone to easily extend the interface to match > their > > requirements. > > You can also decide on the UI later, or create more than one possible > UI that uses the same back end. > > I suggest that all back-end REST interfaces are constructed and tested > in advance of any UI code! > I would also suggest that the back-end should follow an MVC > approach... well at least the M and C parts for the time being! > > > -- > Adam Retter > > eXist Developer > { United Kingdom } > ad...@ex... > irc://irc.freenode.net/existdb > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Exist-development mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-development > |