[TYPO3-ect] Eclipse Plugin Development
Andreas Tschirpke
newsgroupy at at-mediendesign.de
Fri Apr 20 13:13:45 CEST 2007
Hi Martin, thanks for your helpful reply.
> i like that idea, just some days ago i posted a proposal for a typo3 rpc
> interface to the dev list. i wanted to know weather this makes sense and
> is worth the effort.
I will have a look at that. What do you think about the existing RPC
extension?
> i personally thought about the option to use flash editors in be-modules
> but a generalized rpc interface would make also your proposed eclipse
> intergation possible. since i'm usually working with eclipse it would be
> great to use it for managing typo3 too.
Yes, an TYPO3 integrated editor, whether Flash, Java, or whatever based,
will be helpful. But most time when I'm writting PHP code for a Plug-In
I have to switch to another editor or my browser to edit the TS code. A
TS editor integrated into Eclipse will make switching useless.
> i already thought about how this could be done since it's not that easy
> to map the typo3 records to a filesystem.
Actually I don't think it will be this difficult (hopefully :), as the
pagetree already resembles the hierarchical structure of a file system.
> i would suggest a virtual file and folder structure like this.
>
> records/page_1/page_2/main[123].ts_template // a ts-template
> records/page_1/page _2/content[123].tt_content // a content record
> records/page_1[123].page // a page record
> files/content.css // a file in the fieladmin folder
>
> such a filestructure could be exposed in any rpc manner but i would
> suggest to use webDav because that would be useful for other tools
> aswell. a litte problem is the dualistic nature of pages because they
> are records and folders.
Yes, couldn't this be solved by treating pages as "virtual" folders
themselves which contatin virtual and/or real files? I think this
matches your idea outlined above, doesn't it?
> the fields inside of the records could be mapped into an xml-structure
> and can be connected with xml-schemes.
>
> <ts_template>
> <title>foo</title>
> <constants></constants>
> <setup><![CDATA[
> # some typoscript
> ]]></setup>
> </ts_template>
>
>
> how can this be implemented in the typo3 backend?
As we could access the database directly we don't actually need a
backend implementation, do we?
> i suggest to write a generic rpc class wich handles the all the record
> operations. this class can be used by any others to expose this
> interface via XMLRPC / WebDAV /SOAP to the world.
Yes, this will be matter to be researched in detail. A general RPC
interface which cares about authentication and other issues which is
extensible will be a good solution.
> in the core there are already a lot of record-manipulation methods wich
> can be used for this interface.
>
> class tx_rpc_base {
>
> login(){} // new method maybe the cli-login can be used
> logout(){}
>
> /*----- page methods ----- */
>
> getPageInfo( pid ); // new method
> getPageRecords( pid , table ); // new method
> getPageRSP( pid ); // new method
> getPageTypes( pid ); // new method
>
> /* ---- manipulation of records ----- */
>
> getRecord( uid ) // new method
> setRecord( uid, record ) // use method in tce_main
> moveRecord( uid , pid , pos ) // use method in tce_main
> deleteRecord( uid ) // use method in tce_main
> versionizeRecord( uid ) // use method in tce_main
> localizeRecord( uid ) // use method in tce_main
>
> }
>
> the concrete rpc-implementations can be created like any other be-module.
>
> the most critical part is to enshure that the user/group/page/field
> rights are processed correctly. that is only important for the reading
> new methods since the existing tce-main functions already handle the
> rights for the record manipulation methods.
Great proposal, altough I'm unsure about modifying the page tree at all,
but this would be a great "addon" which should be doable.
> i think ts will not change that much and i dont think that this work (if
> done) will be obsolete in the near future. if the eclipse plugin is
> based on a generic rpc-interface it will be no problem to support that
> interface in 5.0 too.
Yes, I would try to create a generic interface which could be used for
other projects as well.
> i'm currently thinking about creating the rpc-base class and an xmlrpc
> interface. like you i want to share my ideas get some feedback.
> especially i would like to discuss the rpc_base interface because this
> interface will be hard to cange if other code is relying on it.
I will have a look at your RPC proposal this weekend and give you some
feedback.
> i think the best way to start would be a wiki page wich is explaining
> the concepts. maybe we could do some of the work together or at least
> avoid double work.
Great, thanks for your support. Unfortunately I will have to wait until
this proposal is approved by my universtity before I can start working
on it - in case it is rejected I will have to focus on another project
leaving only very litte time on this "project". Although I'm very
interessted in it.
I would be happy to share some of the work, but as this project should
be my master thesis I would have to determine if there are any
rules/regulations for a collaboration and a future release.
Thanks for your great mail, it encourages me and I hope we can start a
successful project.
Andreas
More information about the TYPO3-team-extension-coordination
mailing list