By peterx on
We have modules for FCKEditor and other editors but not for BXE, the Bitflux editor. BXE seems to be the only Javascript based editor to edit XML and use schemas. Has anyone used BXE? What is it like? Are there any other Javascript XML editors that use schemas?
BXE looks like it should install with a module similar to the FCKeditor module. If some people want to work on a BXE module, I am happy to help. I have not yet worked out how BXE fits in to a page and do not have a working BXE equipped site to practice on.
Comments
potentially interested
Peter,
Once I work through some of the options in my post you replied to, I should be able to say whether I will be committing to the use of BXE or not. It will take further study on my part.
Once that decision is made, and if it is to use BXE, then of course I will be very willing to work with you and pour significant effort into development of this module you propose.
I should have a more firm answer in 2-4 weeks.
Best regards,
Tom
"We must all hang together, or assuredly we shall all hang separately." (Benjamin Franklin, after signing the Declaration of Independence)
considerations and options
The only other open source XML editors I found were Mozile (Moz. Found.) and Amaya (Apache). Amaya has integration of MathML, but I'm not sure about the value of either.
Of course, the other option is not to use XML but store data in a relational database and convert to XML as necessary. The following link contains a great collection of informed articles on choosing between those two broad options and choosing a RDBS or native XML database. I'm still digesting this.
http://www.rpbourret.com/xml/XMLDBLinks.htm
(There are some other great articles and resources on this concise website.)
X to XML to XHTML
What I do at other sites is to convert existing documents to XML for storage in the web site. OpenOffice already uses XML and Microsoft are switching to XML which means future conversions are easy.
The XML can be stored in the existing Drupal database along side the existing nodes. The XML can be transformed to a node through a single piece of XSLT that will work for all input documents because they are already in a common XML format. XML is the ideal intermediate storage when you have more than one type of input.
XML databases are a type of hierarchical database and they were around before relational databases were invented. An XML database would be the best database if they main thing you wanted to do is change documents along the lines of changing heading level 2 from blue to red. We do that in CSS which makes that type of change rare. Relational databases are far better for everything else we do.
I want an XML editor to edit the documents after conversion from their previous format and before the theme converts them from XML to XHTML.
http://petermoulding.com/technology/content_management_systems/drupal/
petermoulding.com/web_architect
my main needs
Just to explain where I'm coming from and why I have an interest in BXE.
I need to maintain a large repository of small documents and be able to create custom reports based on their date of creation or other fields/metadata relating to the documents, where all documents during a certain time or with a certain characteristic are compiled into a .pdf or OpenDocument (and possible xhtml+css) with formatting that is determined by a flexible way.
In addition, I need to be able to take each of these documents and both perform and show edits of them using strikethrough and possibly colors or bold, saving them as new (edited) documents.
I also need to have a repository of larger documents that probably were created as OpenDocument or saved to that format. It would be grand if those documents could be opened and edited and saved in alternate format as well. But simply being able to upload them may suffice, since tracking changes in OO is already possible. However, I would need to be able to export them as .pdf (downloadable from website) for those who do not have OO installed.
I also need to be able to take xml documents from the web that use a specialized DTD/schema for a certain industry, and catalog and store them. I want users to be able to take these documents and be able to edit them, showing the strikethrough and colors, and to be able to download them as .pdf. It would also be important to otherwise process the documents to break them apart into smaller documents.
I wonder how much of this content could be stored in a Drupal database and how much would need to be stored in an extra database that Drupal could read and write to. Or maybe I would need to store data in flat files. I have to decide whether to use xml or save everything as plain text in database fields. Since I'm new to this, I can't see how to preserve formatting by tying css's with their documents stored as xhtml in database fields or by storing them as xml (unless in OpenDocument format).
If you could comment on whether BXE/Drupal/MySQL/Postgres is the right way to go, I'll keep digging. I don't expect you to answer all my questions; just giving you an idea of the state of my knowledge.
I am concerned about the limitations of BXE as noted in my post below. Bitflux Editor project listed those limitations themselves.
I could compromise on some specifications, using xhtml output instead of .pdf, etc.
It only works in FireFox, I
It only works in FireFox, I seems weird to use.
http://bxe.oscom.org/demo
--
www.bargainspy.co.uk
--
Ixis (UK): Drupal support, Drupal hosting.
Kupu works in IE but does not use schema
Kupu, http://kupu.oscom.org/, works in IE but does not use schema. Kupu works with Zope and some other CMSs. The BXE download includes part or all of Kupu. Hopefully the two will merge.
http://petermoulding.com/technology/content_management_systems/drupal/
petermoulding.com/web_architect
Kupu or BXE
I tested Kupu and BXE on the demo sites. Kupu starts by loading 20 Javascript files and the first visit to a Kupu page stops dead while those files load. BXE loads a small file that waits for body onload and then loads all the javascript files. You BXE page returns faster but without the edit toolbar. A while later the javascript loads and a BXE toolbar pops up across the page. The BXE idea of loading in the background is great but the popup toolbar is a problem. The best approach would be to use Kupu's simpler page layout and load the content in background similar to BXE.
Kupu might be easier to install. Perhaps we could develop a module for Kupu first and, when it is working, expand it for BXE. BXE does so many strange things that my brain does not recognise them even after two Columbian espresso double shots with cold skim organic soy milk on the side.
http://petermoulding.com/technology/content_management_systems/drupal/
petermoulding.com/web_architect
Kupu almost working
I have Kupu almost working in module edit_kupu.
I have Kupu installed to replace a textarea. Currently the Kupu edit screen displays after the textarea with the node body in the Kupu textarea. Kupu is not set up to return the updated screen. If someone wants to make this a proper Drupal module then I will email the code to them. I just do not have time to read the Drupal instructions for setting up a module in the Drupal system.
The code is tested with PHP 5. There should not be anything to stop usage in PHP 4.
The replacement of the textarea should happen automatically but I have not found the right setting in Kupu. Kupu's documentation says Kupu should work as a textarea replacement but does not say how you implement the replacement.
Kupu's documentation says it returns the edited text in a separate hidden form field. That field will have to replace the current data before the data is returned to the database. I have not looked at which hook does that. Probably somewhere in nodeapi.
http://petermoulding.com/technology/content_management_systems/drupal/
petermoulding.com/web_architect
reason for setting Kupu up first?
Was it easier and less daunting to set up than BXE or did it appeal to you more than BXE?
I prefer BXE but cannot understand the install
BXE can use a schema but there was no documentation and neither of my brain cells could understand how it installed. Kupu lacks schema usage but is already used in several CMSs and includes some examples of use. I can almost understand how to install Kupu. I probably need one or two more brain cells to understand Kupu. BXE's installation probably needs hundreds of working brain cells. I though I could learn something about BXE from Kupu because BXE uses some of Kupu's code.
http://petermoulding.com/technology/content_management_systems/drupal/
petermoulding.com/web_architect
Status of Kupu ?
Peter,
Did you ever make progress with Kupu? Can you give us any head start trying to make it work with drupal? Was it a lot of work?
We like the editor, but the last thing we need is another drupal module project right now. If not Kupu, we'll go with TinyMCE, I suppose.. unless someone talks us out of it. This Wizzy issue is very frustrating.
I dropped the Kupu work when converting to 4.7.0
4.7.0 got in the way of everything else. I needed a schema based editor and Kupu is not schema based. Right now there is no need in any of my sites to return to working on Kupu. Perhaps I could find the Kupu work for 4.6 and give that to someone who wants kupu on 4.7.0.
petermoulding.com/web_architect
petermoulding.com/web_architect
same new comment, different location
The only other open source XML editors I found were Mozile (Moz. Found.) and Amaya (Apache). Amaya has integration of MathML.
Mozile is pretty good
Though it's only supported in Firefox and does not support schemas, as an XHTML editor it is in-line and fast, though few features. http://mozile.mozdev.org/
Worth taking a look at.
I think Amaya handles schemas, though as I read about it, I believe it is meant as a browser + xml features, not as a javascript editor.
limitations of Bitflux as stated by its team
These two links describe the use of schemas with Bitflux and indicate limitations.
http://wiki.bitfluxeditor.org/RelaxNG
http://www.bitfluxeditor.org/documentation/documentation/
Given my lack of expertise, I can't answer the question of whether these are surmountable by modifications on the part of the end-user (developer). However, if that were the case, I wonder why the Bitflux Editor project didn't make those changes themselves.