wiki:Developers/IRC-2007-05-09

IRC 2007/05/09

16:11 < jfhv> Volker won't be present today
16:11 < jfhv> I don't know yet about Scott
16:12 < jfhv> Well, perhaps it could be nice to present yourself a little bit, Bermi?
16:13 < bermi> I run my own small development company since 2002 in Spain
16:14 < bermi> I'm coding a CMS and found that WYM was what I was looking for
16:14 < bermi> I like standards, Open SOurce, PHP, ruby, python, javascript...
16:15 < bermi> I'm on the process of starting a community around a ruby on rails port to PHP I created and released LGPL last summer  http://akelos.org
16:15 < dreszka> how is it like to work in the web industry in spain ?
16:15 < bermi> horrible
16:16 < SvenDowideit> lol
16:16 < dreszka> I heard Spain is rather good in web in general
16:16 < bermi> all my customers are from the UK
16:16 < dreszka> ah ok :)
16:16 < bermi> most of them are realtors from Britain
16:17 < jfhv> interesting - different from us
16:17 < bermi> now I work more on intranets
16:17 < dreszka> i know how it is in greece: horrible also. I looks like sunny countries are not the easier ones when it comes to web, technology ...
16:17 < SvenDowideit> i'm from australia, i think we qualify as sunny :}
16:17 < dreszka> ah
16:18 < jfhv> hello SvenDowideit
16:18 < dreszka> hello
16:18 < SvenDowideit> but i try to avoid customers - prefer to do development work for consultants that have interesting clients :)
16:18 < SvenDowideit> hello
16:18 < dreszka> ah interesting
16:18 < dreszka> :)
16:18 < bermi> I've started Sven path
16:18 < SvenDowideit> I'm here cos twiki has support for many wysiwyg editors, wikiwyg being the most promising
16:19 < SvenDowideit> but its all very sub optimal
16:19 < SvenDowideit> wymeditor sounds like another good candidate - i just need to find time to try it more seriously
16:20 < jfhv> OK - so you're a twiki dev ?
16:20 < SvenDowideit> yup
16:20 < dreszka> i have never used wikiwyg, but it looks like it allows you to switch between wysiwyg and wiki code ?
16:20 < SvenDowideit> yeah, it does that too
16:21 < bermi> I'm doing something similar with WYM, but it converts from/to, markdown and textile
16:22 < SvenDowideit> cool
16:22 < SvenDowideit> it is one of the clever things about wikiwyg
16:22 < SvenDowideit> html is really just a view of the markup source
16:23 < bermi> but right now works via an ajax call to a php script, do you do the conversion via js?
16:23 < SvenDowideit> wikiwyg does y
16:23 < SvenDowideit> twiki wysiwyg (originally kupu based) converts from html onsave
16:23 < SvenDowideit> using perl code
16:24 -!- Moxide has joined #wymeditor
16:24 < Moxide> Hi !
16:24 < SvenDowideit> holla
16:24 < bermi> hi Moxide
16:24 < jfhv> hello!
16:24 < dreszka> hello :)
16:25 < bermi> jfhv, how is the paste from Word going?
16:25 < jfhv> going well, I think
16:26 < jfhv> I've just fixed a bug concerning newlines
16:26 < jfhv> well, the functioning is quite simple atm
16:26 < jfhv> you copy/paste in a textarea
16:26 < jfhv> and wymeditor inserts paragraphs
16:27 < jfhv> we could try to parse the Word syntax, and so on
16:27 < jfhv> but it's much work...
16:28 < bermi> remember the parser/lexer stuff I commented on my email, I'm almost done with it, and it can work for parsing everything
16:28 < jfhv> OK, that would be a great feature
16:29 < jfhv> could you explain for everybody?
16:29 < bermi> It's a pure javascript Lexer + Parser
16:30 < bermi> you can define grammars using simple regex and it breaks the text in crunches and calls parser methods.
16:30 < bermi> seems quite complex until you see how easy is to modify existing grammars and add more rules
16:32 < bermi> you can read more at  http://en.wikipedia.org/wiki/Lexical_analysis
16:32 < dreszka> I personnaly think it's almost impossible to come with clean results when using the structure of the copied word document.
16:32 < SvenDowideit> when you c&p, you get rtf right?
16:32 < dreszka> because, I've never seen a word document from a client which would be correctly structured
16:32 < SvenDowideit> and different rtf depending on what version of word
16:35 < dreszka> And even if you can map word structure elements to XHTML, the order of titles would have to be fixed in most cases. So I think what works good is to simply insert paragraphs, which forces the user to define the structure in wymeditor (declare titles ...). This leads to good results.
16:35 < dreszka> It's very fast to do, and guarantees clean results
16:36 < SvenDowideit> we had similar findings doing word to wiki markup - the less you try to be smart, the fewer things get messed up on corner versions of word
16:36 < dreszka> so I'm not sure there is a way to get good results with automation, because word docs are usually so poorly structured
16:38 < jfhv> BTW, browsers don't handle the clipboard the same way
16:38 < bermi> what about an import from word feature, and ask the users to upload a saved as HTML version of the document?
16:39 < SvenDowideit> then you may as well use the save to webdav
16:39 < dreszka> but you ill still have the problems if the word document is not well structured
16:39 < SvenDowideit> and users don't expect it - they try c&p first, then give up
16:40 < bermi> I think that WYM users should be aware about the correctness of the document structure
16:41 < SvenDowideit> mmm, you mean you want to limit your audience to technical, standards aware users?
16:41 < bermi> and if they see their formatting cleared out when pasting from word they'll have to select proper styles from WYM CSS menu
16:41 < SvenDowideit> not people that just want to write text?
16:41 < dreszka> a good way would be to allow the end-user to c&p, then to have a dialog popup which would allow to do the mappings. But it would be too complicated to explain and to use for the end-user, and it may take almost the same amount of time as structuring a clean structure made of paragraphs
16:42 < bermi> If they "just write text" WYM will handle it nicelly
16:42 < bermi> if they start adding tables and layer, it will be messed up
16:43 < SvenDowideit> 'just write' in enterprise often starts with c&p from old doc
16:43 < dreszka> yes
16:43 < SvenDowideit> (i'm trying to get a feel for where you are headed)
16:46 < dreszka> the solution seems very interesting, and could be useful for a specific kind of users (like the web agencies professionnals).
16:46 < dreszka> But our customers need very simple to grasp concepts, even if it requires a little more work.
16:46 < dreszka> I think it's the case of most users WYMeditor is targeted for
16:47 < jfhv> FYI, WYMeditor natively handles copy/paste (I don't speak about the Paste from Word feature) in MSIE by taking the raw text from the clipboard and inserting simple paragraphs
16:48 < SvenDowideit> ah
16:48 < SvenDowideit> best place to start :)
16:48 < jfhv> what is missing is removing proprietary chars
16:49 < jfhv> among other garbage
16:49 < dreszka> yes
16:50 < dreszka> and maybe some typographic enhancements, like inserting a non breaking space before characters like ! ? ;
16:51 < jfhv> BTW, WYMeditor is used by our customers (all using MSIE and non-technical) since more than on year
16:51 < jfhv> we often receive good feedbacks from them
16:52 < SvenDowideit> mmm, the web site gives the impression that i should not use it yet (and gives that impression to clients / managers)
16:52 < jfhv> the current c&p handling from Word doesn't seem to be a problem for them
16:52 < SvenDowideit> thats rather good news though
16:53 < SvenDowideit> the web site only barely gives the appearance that its safer to use than wikiwyg
16:53 < SvenDowideit> and the wikiwyg site gives the impression that the project died years ago
16:53 < jfhv> (sorry phone call)
16:54 < SvenDowideit> guess i'll have to make a twiki package for is asap, just to get people testing it
16:57 < dreszka> ok, we may have to state clearly on the WYMeditor website that it can be used in production
16:57 < dreszka> but we consider version 0.3 will be the real 1.0 version
16:58 < SvenDowideit> ah :)
16:58 < SvenDowideit> then 1.0 is so close we can smell it
16:58 < bermi> it was not in production for FF or Mac OS until 0.3
16:59 < dreszka> 0.2 can be used in production, but 0.3 will be a lot easier to integrate, and to adapt to specific needs + to extend with plugins...
16:59 < dreszka> yes
16:59 < dreszka> 0.2 is ok in IE and FF only
16:59 < SvenDowideit> cool - i'll package up the 0.3 aphas then, as it'll save me time later :)
16:59 < jfhv> (I'm back)
17:00 < jfhv> well, I guess we need a better marketing
17:00 < dreszka> you can already look at 0.3 demo, you'll see what i mean with "easy to integrate" :)
17:01 < dreszka> I think it will really be time for marketing with 0.3
17:01 < SvenDowideit> the main work is generally working out the best way to get the editor to hand twiki the results
17:01 < SvenDowideit> excellent, then my timing (or lack thereof) may help you too
17:02 < dreszka> Sven: I don't understand what you mean in you 2 last sentences
17:02 < dreszka> my english is sometimes a little poor...
17:03 < SvenDowideit> you'll be able to point to twiki as another project that uses 0.3
17:03 < dreszka> ah ok yes
17:03 < dreszka> that's very good
17:03 < SvenDowideit> (i didn't do anything on it til now, because i lacked the time)
17:03 < dreszka> ok
17:03 < jfhv> great news
17:04 < SvenDowideit> i think the approach you guys are trying has allot of merit
17:04 < bermi> I'm working on a PHP CMS inspired by Radiant CMS which will also feature wym
17:04 < dreszka> thanks :)
17:04 < SvenDowideit> because it matches the principle of least surprises for the user
17:04 < jfhv> great news, too :)
17:04 < dreszka> i don't know radiant, i'll take a look
17:05 < dreszka> yes
17:05 < bermi>  http://www.radiantcms.org
17:05 < dreszka> thanks
17:05 < jfhv> (Moxide works on the WYmeditor Drupal module)
17:07 < bermi> integrating wym with my CMS took only 10 lines of code and it's mainly because you can switch it on and of in different tabs on the same page :D
17:08 < bermi> now I'd like to have the CSS menu built automatically for the selected template CSS
17:09 < SvenDowideit> hehe, you forgot to say 'only' >:}
17:09 < dreszka> bermi: you would like to have it populated automatically from the styles in your css file ?
17:10 < bermi> yes
17:10 < dreszka> that's something we have thought about also
17:10 < bermi> following some coding guidelines on the CSS
17:11 < dreszka> it could be interesting toi have this kind of feature, but it would have to be well-thought
17:11 < bermi> including styles for the menu between a comment like /* wym styles */ ..... /* end of wym styles */
17:12 < dreszka> because simply creating a menu item for each class declared in your stylesheet won't be enough
17:12 < dreszka> ah yes
17:12 < dreszka> that's a good idea
17:12 < jfhv> interesting idea - I don't know if it has to take place in the core or as a plugin
17:13 < dreszka> rather a plugin i think
17:13 < bermi> and then .featured { border: 2px solid #000; } Featured
17:13 < jfhv> I see
17:13 < bermi> so you can define the captions on the CSS too
17:13 < dreszka> ok
17:13 < bermi> thats why I'm working on the Parser
17:14 < bermi> I also fell that it should be a plugin
17:14 < jfhv> So 'Featured' is the class title, as displayed in the menu?
17:14 < dreszka> yes
17:15 < bermi> yes
17:15 < dreszka> looks like a good way to do things for me
17:16 < jfhv> OK. The plugin system is rather basic for now - needs more work to be robust.
17:17 < bermi> here is the parser I'm working on now  https://trac.wymeditor.org/trac/browser/branches/bermi/wymeditor/vendors/parser.js?rev=284
17:18 < bermi> XhtmlLexer is where you define a new grammar for xhtml
17:19 < dreszka> looks interesting, but my knowledge in js is far from sufficent to appreciate your work :(
17:20 < dreszka> (i'm rather a designer)
17:20 < bermi> Once this is implemented you can inherit from SaxListener and implement specific startElement(name, attributes), endElement (name) and addContent (text)
17:21 < dreszka> ok
17:21 < bermi> it took me a lot of time to figure out how Lexers and Parsers work internally
17:21 < bermi> but once you get them you can support new sintax easily
17:22 < dreszka> what is a lexer ?
17:22 < bermi> I learnt this from reading Dokuwiki code
17:23 < bermi> I gets some lexical rules and calls a parser for each piece in the right context
17:23 < bermi> this we we can manage to know which tags are in the incorrect scope with ease
17:24 < bermi> so if someone does <p><h1> you can detect it and fix it easily without adding endless if...else
17:24 < dreszka> ok
17:25 < bermi> It can also help on making wym aware of what is possible for current context, so we can disable options that should not be applied in current context
17:26 < jfhv> a XML Schema / RelaxNG validator plugin could help, too
17:26 < bermi> I have to go now
17:26 < jfhv> OK. I'll have to go in 10 minutes, too.
17:27 < bermi> I'd like to show you an specific implementation so you can see the power of this parser
17:27 < bermi> bye!
17:27 < jfhv> OK, bye!
17:27 < dreszka> bye
17:27 < bermi> nice to meet you all
17:28 < dreszka> and i have to go also :)
17:28 -!- bermi has quit []
17:28 < SvenDowideit> laters :)
17:28 < SvenDowideit> and thanks for the infos
17:28 < dreszka> thank you for attending
17:28 < dreszka> see you soon
17:28 < SvenDowideit> :)
17:28 < jfhv> bye Daniel :)
17:29 -!- dreszka has left #wymeditor []
17:30 < jfhv> OK. Anything to add about what has been discussed?
17:30 < SvenDowideit> not from me - just keep up the good work :)
17:30 < jfhv> thanks :)
17:30 < jfhv> expect a beta very soon
17:30 < SvenDowideit> hehe
17:31 < SvenDowideit> working on the next release of twiki, so as usual, its busy times ahead
17:32 < jfhv> yes :) Moxide: some news about the Drupal module?
17:33 < Moxide> Yes. I just tried to implement it
17:34 < jfhv> And?
17:34 < Moxide> [some IP]
17:34 < Moxide> you can try there
17:34 < Moxide> user/pass: [some pass]
17:35 < Moxide> Drupal is using JQuery, that might cause the little problems...
[...]
17:47 < jfhv> wow, looks great :)
17:48 < jfhv> you should use a nightly build
17:49 < Moxide> It basically works on Mozilla, but not in IE7
17:49 < jfhv> less files to load
17:49 < Moxide> ok, I'll do
17:49 < jfhv> what's the problem with IE7?
17:50 < Moxide> In mozilla, when the textarea is empty, the paragraph is not created when typing
17:50 < Moxide> in IE7 :
17:50 < Moxide> The body textarea can't get the focus
17:51 < Moxide> the log textarea seems to work but generates js erros
17:51 < Moxide> errors
17:52 < jfhv> ok, I'll take a look at it
17:52 < jfhv> well, I'll soon have to go - anything to add?
17:53 < Moxide> no :-)
17:53 < jfhv> Sven?
17:54 < jfhv> OK, maybe he's away
17:55 < SvenDowideit> yeah, i'm mostly gone :)
17:55 < Moxide> Ok
17:55 < jfhv> Ah :)
17:55 < Moxide> :-)
17:55 < SvenDowideit> found a client in my spambox
17:55 < SvenDowideit> have to bake biscuits
17:56 < jfhv> :)
17:56 < jfhv> OK - I have to go. Nice meeting!
17:56 < SvenDowideit> nice to meet :) thanks
17:56 < Moxide> see you soon !
17:56 < jfhv> Sven: are you registered on the dev mailing-list?
17:57 < SvenDowideit> good point
17:57 < SvenDowideit> no, will do
17:57 < SvenDowideit> mmm, must be
17:57 < jfhv> cool
17:57 < SvenDowideit> i got the email about the meeting
17:57 < jfhv> ah, fine
17:57 < SvenDowideit> :)
17:58 < jfhv> please don't hesitate to drop a line if e.g. you need help
17:58 < SvenDowideit> never fear about that :)
17:58 < jfhv> LOL
17:58 < jfhv> OK, bye
17:58 < SvenDowideit> later :)
17:58 < Moxide> Bye !