Announcement

Do not use the forums to submit bug reports, feature requests or patches, submit a New Ticket instead.

#1 2005-02-13 08:16:18

gogo
Xinha Leader
From: New Zealand
Registered: 2005-02-11
Posts: 1,015
Website

Developers Developers Developers

I apologise for the Ballmer impression smile  This is an invitation to any developers with knowledge of (or the willingness to learn) Javascript's ins and outs to pitch in with the project.

Post here to let me know you exist, or if you see a ticket you'd like to tackle just post a comment to the ticket.

I'm totally open to allowing SVN commit access to developers who show that they are willing and able to partake in the joys of x-browser development.  As long as you submit me a patch of two of substance and quality I'll be happy to set you up an SVN login.

I know there are lots of people who have hacked bits and bobs into htmlArea over the years, now is your time to come out of the woodwork, share your knowledge and get in on the ground floor with Xinha.


James Sleeman

Offline

#2 2005-02-13 19:12:17

Yermo
Xinha Authority
From: College Park, Md, USA
Registered: 2005-02-13
Posts: 143
Website

Re: Developers Developers Developers

I'm on board and I'm willing to jump in as time permits.  I can also throw $$ when I don't have enough time to directly contribute code.

I've done a moderate amount of javascript but nothing on the scale of HTMLArea; however I'm extremely familiar with PHP. (and C and C++)

I'm not familiar with alot of the browser API's. Since I've been coding since age 7 I can come up to speed very quickly. At the moment, I have little time so my ability to contribute will be somewhat spotty. However, I'm very motivated because Xinha is extremely important to a large project I'm doing. (details forthcoming)

Initially I figure I can help with testing and provide user-interface feedback; I can also help out quite a bit on the server side while I come up to speed on the browser side API's. Answers to occasional questions will help me come up to speed much quicker.


-----------------------------------------------------------------------------------------
Content Management with Business Intelligence      [url]http://www.formvista.com[/url]

Offline

#3 2005-02-14 06:25:01

zebo
New member
Registered: 2005-02-14
Posts: 7

Re: Developers Developers Developers

Hi gogo,

I've done some work on htmlArea for the College's Interact online learning community system.

Some features I've added so far - I'll try and remember everything!
• tables have red dots around cells (but this vanishes on the completed page) - I see you have a different solution to this (other editor-only styles may also be applied).
• made table editing buttons appear when cursor is inside a table
• improved table dialogs
• Insert image - includes scaled image preview and improved dialog
• insert sound/video/checkpoint - for flash objects, it puts an editable placeholder on the page which can be dragged around - this gets replaced by the real flash object when pages are viewed normally.
• uses a standard file browser, included in all insert dialogs in an iframe, which uploads (including .zip unarchiving), makes new folders, deletes, and can also pop up a file manager for moving files around between user folders and global libraries... but I do like the look of your add-link browser!
• Improved styles/fonts/sizes menus a bit like you have - they update correctly as cursor enters regions.
• added Blockquote format
• made remove format kill all block styles & tags
• inherits style sheet from Interact site skin (even for 'fullpage' editing)
• improved popups - a bit of a hack, but no more dancing around the screen before opening.
• inserted space after format blocks to prevent getting trapped
• link dialog has remove link button if there is a link already
• rearranged toolbar to be similar layout to Word (most users are familiar with that layout)
• various bug fixes, everything works in IE and gecko.

Some stuff like the Flash and uploading requires PHP server side code.

You're most welcome to trawl through the diffs and pull some of this over to Xinha.
Interact version 2 (an open source project) is due out later this month - I'll put a current version of our htmlArea somewhere for you to play with soon - I've just been editing/testing htmlArea changes today.  Do you mind registering yourself to a site to get edit/post privileges (to play with my htmlArea)?

So what is interactive tools doing with htmlArea?  Letting it rot, or are they trying to take it back in-house?  Why make something open source and then discourage developers!?

Hmm, 3 members here so far and all names ending in 'o'.  I'm zebo 'cos I just bought zebo.org.

Xinha is a better name.  Is it legally OK to grab somebodys open source project and rename it?

No html editing in your forums - whats that about!?  wink

Offline

#4 2005-02-14 22:18:58

gogo
Xinha Leader
From: New Zealand
Registered: 2005-02-11
Posts: 1,015
Website

Re: Developers Developers Developers

zebo wrote:

• tables have red dots around cells (but this vanishes on the completed page) - I see you have a different solution to this (other editor-only styles may also be applied).

I'd be interested to see how you did this.  I just added an !important style, but it seems it's not enough to ensure that borders are visible when border styles are directly applied to the table.

• made table editing buttons appear when cursor is inside a table

Is this different from the TableOperations plugin?  Or you mean you make them totally disappear when not in a table?

• insert sound/video/checkpoint - for flash objects, it puts an editable placeholder on the page which can be dragged around - this gets replaced by the real flash object when pages are viewed normally.

That sounds like a very useful thing to make into a plugin smile


• uses a standard file browser, included in all insert dialogs in an iframe, which uploads (including .zip unarchiving)

That sounds pretty flash!  How, err, secure is it from having any old Joe Blow come in and mess with files on the server?


• made remove format kill all block styles & tags

Sounds like I could incorporate that in to the SuperClean plugin.

You're most welcome to trawl through the diffs and pull some of this over to Xinha.

Cool, perhaps best if you can just submit a ticket ("Examine and incorporate changes from this htmlarea") with a Zip of your htmlarea directory attached.

So what is interactive tools doing with htmlArea?  Letting it rot, or are they trying to take it back in-house?  Why make something open source and then discourage developers!?

Well, if you take a look at thier forums, it's, well, strange.  They claim to be activly developing it, but so far all I've seen is them screw up the CVS, make a couple of changes here and there, change the "build system" (?!?), ignore lots of bug reports and plaster the site with adverts for competing products.

Hence why I and others gave up waiting.

Xinha is a better name.  Is it legally OK to grab somebodys open source project and rename it?

Yes I think it's fine, in this case, htmlarea is licence under the socalled "htmlArea Licence", which is essentially a BSD licence deriviation.  Renaming it shouldn't be a problem, AFAIK it has to stay under the htmlArea licence.  But I'm not at all sure about what the copyright status becomes (it's already (C) dynarch and (C) interactive tools), wether we can, or should add copyrights for myself and the other developers working especially in the editor core.

No html editing in your forums - whats that about!?  wink

Heh.  Just keeping things simple smile


James Sleeman

Offline

#5 2005-02-14 23:39:14

zebo
New member
Registered: 2005-02-14
Posts: 7

Re: Developers Developers Developers

I styled the td tag - and my style is put in as a linked css file at the end of the head, so it overrides any td in a user page.  an inline td style could override the dots on a given cell, but hopefully you'll still be able to see where cells are.

My editor-only css link in the head gets ripped out of the file when the page is submitted.

Or you mean you make them totally disappear when not in a table?

yeah, I use the table op plugin, but the table op row of editing buttons is not displayed unless you're in a table.  I fixed up the table properties dialog - it had bad default values and could muck up your table just by opening and closing it!

insert sound/video/checkpoint - for flash objects, it puts an editable placeholder on the page which can be dragged around - this gets replaced by the real flash object when pages are viewed normally.

That sounds like a very useful thing to make into a plugin smile

Yeah, though you need to RegExp all your pages with PHP to swap the placeholder with the real object - this is well beyond the javascript scope of htmlArea at present.  The nice thing is that one RegExp handles *any* flash content on the page (along with sizing and FlashVars), but you can still pop back to the editor and move/copy/edit them.

uses a standard file browser, included in all insert dialogs in an iframe, which uploads (including .zip unarchiving)

That sounds pretty flash!  How, err, secure is it from having any old Joe Blow come in and mess with files on the server?

The PHP server side that does all the work double-checks that you have permission - normal users can't do anything outside their own home folder - admins can also change and make global library folders.  Theres lots of error-checking - it'll give a permission error if they try and hack the hidden path field in the form to something they're not allowed into.

Cool, perhaps best if you can just submit a ticket ("Examine and incorporate changes from this htmlarea") with a Zip of your htmlarea directory attached.

Yeah, except some of the stuff (like placeholder objects, user home folders and Interact styles) are not stand-alone - I think the easiest thing to do would be to use our site to see how it works and then transfer features to Xinha one by one.
I'll point you at a demo site soon - no public access to our test server.
If you're keen and impatient, browse the CVS here:
http://sourceforge.net/projects/cce-interact/

Hence why I and others gave up waiting.

Us too - nothing happening at their end so we just got stuck in.

Offline

#6 2005-02-15 00:07:08

gogo
Xinha Leader
From: New Zealand
Registered: 2005-02-11
Posts: 1,015
Website

Re: Developers Developers Developers

zebo wrote:

insert sound/video/checkpoint - for flash objects, it puts an editable placeholder on the page which can be dragged around - this gets replaced by the real flash object when pages are viewed normally.

That sounds like a very useful thing to make into a plugin smile

Yeah, though you need to RegExp all your pages with PHP to swap the placeholder with the real object - this is well beyond the javascript scope of htmlArea at present.  The nice thing is that one RegExp handles *any* flash content on the page (along with sizing and FlashVars), but you can still pop back to the editor and move/copy/edit them.

If it's just a RegExp then that should be able to be put into Xinha, I might have to make a hook available to plugins for when html goes in/out of the editor, but the functions are there to do it.


James Sleeman

Offline

#7 2005-02-15 00:23:38

zebo
New member
Registered: 2005-02-14
Posts: 7

Re: Developers Developers Developers

I'm not sure if I made this clear - the saved HTML from the editor looks like this:

<img src="/includes/editor/images/[PlaceholderForItem].gif?XX[FLASHCOMPONENT]XX[scaling]:[width]:[height]:[FlashVars]XX[FLASHCOMPONENT]XX" />

one example:
<img src="/includes/editor/images/videoPlaceholder.gif?XXVIDSTREAMXXfixed:370:317:medianame=/local/users/19/1965000032/graffiti&vtitle=GraffitiXXVIDSTREAMXX" />

For built-in components (with their own edit window in HTMLArea), we have VIDSTREAM, MP3STREAM, CHECKPOINT,... for a user-uploaded swf, it's CUSTOMSWF

A normal page view will just show you a dud placeholder image... PHP needs to parse every page request to the server.  But by keeping them as placeholders, it is easy to edit them, or change how the flash objects are setup.

The CVS repository mentioned in my last message - go into Interact/includes/editor (and editor.js) to get to our HTMLArea files.  But gogo, we're both living in Christchurch, right?  Why don't you stop by to visit me next week - either at work - CHCH College of Ed, or home - I live in Bryndwr.  Email me if you want to meet, and suggest a time.

Last edited by zebo (2005-02-15 00:27:17)

Offline

#8 2005-02-15 06:04:55

gogo
Xinha Leader
From: New Zealand
Registered: 2005-02-11
Posts: 1,015
Website

Re: Developers Developers Developers

zebo wrote:

I'm not sure if I made this clear - the saved HTML from the editor looks like this:

<img src="/includes/editor/images/videoPlaceholder.gif?XXVIDSTREAMXXfixed:370:317:medianame=/local/users/19/1965000032/graffiti&vtitle=GraffitiXXVIDSTREAMXX" />

Is it difficult to parse the reverse direction (going from the flash tags back to the img placeholder)? 

Reason I ask is if it's not too hard (ie can be done with regexps) then it would be better for you to implement the conversion to + from placeholder in the javascript, that way when you switch from htmlmode -> textmode you wil see the proper flash tags, then switch back and you'll get the placeholder smile 

That way you always store the real flash code, and only the editor deals with converting to/from the placeholder at time of editing.

(I imagine you know, but the Javascript regexp object is basically perlish, so it's quite capable)

Why don't you stop by to visit me next week - either at work - CHCH College of Ed, or home - I live in Bryndwr.  Email me if you want to meet, and suggest a time.

I might do that, I'll let you know if I have time sometime in the next couple of weeks.


James Sleeman

Offline

#9 2005-02-15 16:33:07

zebo
New member
Registered: 2005-02-14
Posts: 7

Re: Developers Developers Developers

Sure, you could do it just in the editor...
But you can't change the flash object easily - you have to deal with all the pages already created using the old version.  The placeholder is more flexible - for example, I plan to allow the scaling to be set to 'fitwindow' or something, which would insert javascript to write the object size, making it the full width of (window - side menu width) by (proportinally scaled height).  You might still be able to cope with a RegExp to convert it back, but it gets messy!

I would convert to a real flash object on submit and convert back to a placeholder when you enter the editor.

I definitely wouldn't let users touch the Flash object code because:

1) The placeholder is a subset of what is available in the full object - if you let the user edit the object html, then you'll need to expand the placeholder to cope with anything (possible??) or wipe some user changes.
2) Due to Win IE insisting on their new format for the object and gecko insisting on the old way, all parameters are usually specified twice in the object - if a user edits one of the 2 identical values, which do you keep?
3) If users touch the object code, they could easily break your RegExp and stop the replace working.

Offline

#10 2005-02-15 22:48:45

zebo
New member
Registered: 2005-02-14
Posts: 7

Re: Developers Developers Developers

4) The browser editor will mangle your Flash object.  IE (as to be expected) is the worst - it deletes anything in the object not specific to Win IE 5+... so your object won't show up in gecko browsers!

On exit from the editor, I'd stick html comments around the placeholder img (regExp any img tag with ?XX[NAME]XX...XX[NAME]XX in it), and insert the flash obj with comments above & below (ie <!-- Start Xinha Flash Object -->).  That way, when you come back in, all you have to do is rip out the whole flash obj using the comments as start & end markers, and remove the comments from the placeholder!  Hmmm, only thing is, the html comments might get mangled.  Try it and see.

-=Bruce Webster.

Last edited by zebo (2005-02-15 22:54:30)

Offline

#11 2005-02-16 11:50:04

Reg
New member
From: Calgary, Canada
Registered: 2005-02-16
Posts: 1
Website

Re: Developers Developers Developers

Really quite a newbie, so perhaps not much help in the development, but I do have a real and current need so I am busy testing and perhaps that's where I can contribute. And I am delighted to see something seriously happening with the product.

Offline

#12 2005-02-16 17:46:33

Angel
New member
Registered: 2005-02-16
Posts: 4

Re: Developers Developers Developers

Hi James,

I'm using HTMLArea 3.0 at one of the websites I'm developing. I've never digged much into the HTML code but case I see a ticket I can quick fix I'll let you know.

Offline

#13 2005-02-16 19:41:18

gogo
Xinha Leader
From: New Zealand
Registered: 2005-02-11
Posts: 1,015
Website

Re: Developers Developers Developers

Reg wrote:

Really quite a newbie, so perhaps not much help in the development, but I do have a real and current need so I am busy testing and perhaps that's where I can contribute. And I am delighted to see something seriously happening with the product.

Excellent Reg, just post ticket when you find a bug or think of a feature that would be useful.


James Sleeman

Offline

#14 2005-02-16 19:42:04

gogo
Xinha Leader
From: New Zealand
Registered: 2005-02-11
Posts: 1,015
Website

Re: Developers Developers Developers

Angel wrote:

I've never digged much into the HTML code but case I see a ticket I can quick fix I'll let you know.

Sounds great Angel, the more the merrier smile


James Sleeman

Offline

#15 2005-02-20 10:55:55

Foxx
Xinha Community Member
Registered: 2005-02-20
Posts: 41

Re: Developers Developers Developers

The flash object sounds very interesting, but then for a different purpose. I've actually been considering implementing something similar in my CMS.

I'll try to explain. In my CMS I make use of custom modules. So when on a certain page you want to display something that needs to be generated by php, you can write a module for that, and call for that module from anywhere in the text or put it somewhere in the templates. As has been said before, before the final page is displayed to the visitor, the page is quickly scanned for these special module tags with a regexp (php) and then the code is replaced with the appropriate output.

However, since it is also possible to send certain variables to the module upon loading, it would nice if some sort of insertion dialog would be present and an image placeholder would be displayed.

The current 'tags' look as follows:

{{module_name?key1=value1&key2=value2&key_N=value_N}}

Images are nicer, I could even use gd library to display the name of the module that is being loaded... smile I'd definately like to see this implemented, should I add a ticket then?

Offline

#16 2005-02-21 05:40:03

gogo
Xinha Leader
From: New Zealand
Registered: 2005-02-11
Posts: 1,015
Website

Re: Developers Developers Developers

Foxx wrote:

{{module_name?key1=value1&key2=value2&key_N=value_N}}

Images are nicer, I could even use gd library to display the name of the module that is being loaded... smile I'd definately like to see this implemented, should I add a ticket then?

Hmm, I think this would be a pretty specific implementation rather than a general-use plugin?  If you want to have a go at creating a plugin though it's quite easy, a good one for example might be the Linker plugin.


James Sleeman

Offline

#17 2005-02-21 19:18:59

Foxx
Xinha Community Member
Registered: 2005-02-20
Posts: 41

Re: Developers Developers Developers

Sorry if I was a little unclear (I was pretty damn tired when I wrote that), I meant that I would like to see the flash plugin implemented, I could quite easily convert that into something usefull for myself...

Offline

#18 2005-02-21 22:46:32

gogo
Xinha Leader
From: New Zealand
Registered: 2005-02-11
Posts: 1,015
Website

Re: Developers Developers Developers

Foxx wrote:

Sorry if I was a little unclear (I was pretty damn tired when I wrote that), I meant that I would like to see the flash plugin implemented, I could quite easily convert that into something usefull for myself...

Ahhh, I see.  Can you submit a ticket as an enhancement request for that.

Thanx.


James Sleeman

Offline

#19 2005-02-22 12:35:38

Foxx
Xinha Community Member
Registered: 2005-02-20
Posts: 41

Re: Developers Developers Developers

Done! Submitted the enhancement request!

Offline

#20 2005-03-16 19:39:31

Wei
New member
Registered: 2005-03-16
Posts: 9

Re: Developers Developers Developers

I would like to help out, but I can't use http SVN as I am behind a http proxy.

Wei.

Offline

#21 2005-03-19 01:27:04

gogo
Xinha Leader
From: New Zealand
Registered: 2005-02-11
Posts: 1,015
Website

Re: Developers Developers Developers

Wei wrote:

I would like to help out, but I can't use http SVN as I am behind a http proxy.

Wei.

Not much I can do there.  Are there  ports you can get out on?


James Sleeman

Offline

#22 2005-03-21 04:20:36

niko
Xinha Authority
From: Salzburg/Austria
Registered: 2005-02-14
Posts: 338

Re: Developers Developers Developers

with mod_dav_svn subversion works over http!
is that not possible?


Niko

Offline

#23 2005-03-21 06:06:24

gogo
Xinha Leader
From: New Zealand
Registered: 2005-02-11
Posts: 1,015
Website

Re: Developers Developers Developers

niko wrote:

with mod_dav_svn subversion works over http!
is that not possible?

Not without Apache2.  If somebody wants to donate a VPS we could run Apache 2 on that smile


James Sleeman

Offline

#24 2005-03-21 06:08:15

adamp
Xinha Pro
Registered: 2005-03-14
Posts: 77

Re: Developers Developers Developers

I'd be willing to provide space on my server (and did email you a while back), but I'm not currently running Apache2 so I guess that's out.

Offline

#25 2005-03-28 22:38:58

g2010a
New member
Registered: 2005-03-28
Posts: 9

Re: Developers Developers Developers

Is there a tutorial for plugin creation? Is there a definition of the API or a list of functions or anything on how to communicate with the core? I have unsuccesfully searched for such for HTMLArea or Xinha, so contributing has been hard and frustrating... reverse engineering takes a heck of a lot of time.  If anyone could give me some pointers I will contribute any useful plugins I might develop.
Thanks for the awesome job, by the way.

Offline

Board footer

Powered by FluxBB