What to do- XML or Wiki?

Guys,

Last week, I asked you whether you’re Fed up of using Wiki?, I got some feedback, on the blog, as well as in some mailing lists.

Recently, Aristides Villarreal Bravo and I, had a chat about this, and he said he would blog about it on his Spanish blog, for feedback. He actually did, yet no one gave any feedback on his blog.

Anyways, moving on, I would like to share with you what I researched during last week. I came across Wiki Creole as I had told earlier. It provides a standardized XML Schema and XSL files, for transforming XML to HTML and Creole’s Wiki Markup. Nice, isn’t it?

So, we thought if we use XML for writing wiki pages in NetBeans, and when the user applies the XSLT through some UI, it would generate Wiki for you, for the engine you choose.

Wow, that means I write Wiki’s being Independent of Wiki Engines!

Then, another thought came to our mind, whether users would be wiling to write pages in XML format. They may OR may not do. So, we thought, why not simulate functionality of Microsoft Front Page, where you can view Normal, HTML and Preview of same document, by selecting respective Tabs. Its like having a Multiview Editor in NetBeans, as we have for Visual Web JSF files.

Would you like to work on a Visual Designer?

Oh, so you’re already visualizing it, good keep it up. However, we felt that if we let you use the designer, that would affect collaboration in some sense over the Web.

How?

Suppose, I have to create a Wiki for Wikipedia, and I use designer for creating the document on desktop, independent of internet connectivity. Then, I would choose the XSL for desired Wiki engine, and then apply XSLT to the XML formed in sync with the Designer, to form Wiki markup enabled content.

So, you would then copy, and paste it into the online editor, when you want to, and publish the page.

Now, what?

Now, a person working somewhere else, had a look at the Wiki you published, as above. He feels there need to be some changes, and he makes those being online using the online editor.

Some days later, you thought of revising that Wiki, so you think you would add/remove components from locally made Wiki, and copy-paste-overwrite the content in online editor.

Watch out!!

Oh oh, someone made changes into the document, the guy actually editing the wiki markup, because he understands the syntax, but what about you? You actually don’t care, understanding Wiki syntax, as you have Visual Designer to create them. This is meant for users who have never used Wiki, and are willing to use it because of the Designer.

Now, you will learn the syntax, and understand its usage, then you would be able to recognize what changes the other guy made! So, time got wasted. Now, when you can understand the syntax of Wiki engine, where you’re publishing pages. You would like to see how it would look like in Designer.

Solution

“Where there’s a will, there’s a way”- what if, user had an option in NetBeans, to transform existing Wiki’s into the Multiview Editor locally. Should sound interesting for researchers…Yes, that could be another useful feature for the project.

Any Limitations

I am afraid to share them, but there might be some limitations, doing Wiki to XML, is like doing Language Processing and then, tokenizing Markup code, then tag them as per XML Schema, which Wiki Creole devise!

We still have no idea about this, its just a thought. So, that means, if this thing happens, then we have to do it separately for every engine. Sounding very big, really big project.

Another Solution

What if, we don’t go for XML stuff, and stick to creating a generic wiki editor framework, which when implemented would provide editing support for specific Wiki engines.

Advantages

Collaboration at its best, you just have to copy the existing Wiki markup content from any Wiki site, then create a new file that recognizes Wiki markup, copy the content, and you get syntax highlighting, code completion, annotations, etc. Start revising the wiki.

No need of any XML, XSLT’s and designer too!

Tell me what do you think? I am willing to learn and understand the target audience perceptions, as I work towards this project. Feel free to mail me if you don’t want your comments to be public- nvarun AT netbeans DOT org

Thank You

Fed up of using Wiki?

Guys,

You might be wondering what I just blogged, with such a question as the title, and more over, me using Wiki since NetBeans 6.0 FCS. After all, I am the NetBeans Community Docs Team Member. Then, why am I asking you? Are you fed up of using Wiki?

A single question can be more influential than a thousand statements.- Bo Bennett

Jan ’08

During CFF, everyone had the choice to contribute a useful plugin, which might let them win a cool laptop in the end, and the fame one would get ;)

I was also one of those thinkers, and thought of creating a cool plugin, with no knowledge of NetBeans Platform, and just one thing in mind, “I had to do a lot to write a readable, well-formated Wiki page, using Wiki Editor at wiki DOT NetBeans DOT org!”.

So, I penned down a thought, i.e. to create a module for NetBeans, which would help me, as well as the whole community, to write Wiki’s from within the NetBeans.

Feb ’08

CFF ended, however NBIG started, so I polished my thought (along with Amit Kumar Saha), and finally, created a proposal to be submitted by team of 3 people, exclusive of Amit :|

Apr ’08

Results were announced, I faced rejection. It took me a week to realise that dream is over. However, how can I, a fan of Diehard series, Rocky, Rambo and lots of inspiring movies, give up so easily?

A rejection is nothing more than a necessary step in the pursuit of success.- Bo Bennett

Also, during those days, a contributor of docs program, Jay Mahadeokar, showed interest in this, by blogging about the thought. We interacted and as you can see the comments over that particular post, I suggested that either we or someone from community should do this.

However, there were not many people reacting to that blog, reasons- it was probably not listed in Planet NetBeans :|

Jun ’08

After 2-3 weeks of discussion, we decided to finally start off this project. During that time, I realised what were the con’s of my original proposal. This time, we were well prepared.

So, Jay blogged about the thought, for feedback from the community, what they feel like, as we were in the process of finalizing a revamped proposal.

Again, not much feedback to think upon.

July ’08

Jay got busy with his new responsibilites as a Sun Campus Ambassador, and gradually, I again started to loose interest in this, as my final year at university started, and I was appointed as NetBeans Dream Team Member, during that time, as well as got selected for NetCAT 6.5.

I was about to move on, and leave this thought, which was developing into an idea, for someone to work upon in future.

Ray of Hope

Our Technical Community Manager, replied in one of my mails sent in June, to one of the NetBeans mailing list. He showed interest, and this time, I single handedly managed all the discussions, had some brainstorming sessions.

You must do the things you think you cannot do.- Eleanor Roosevelt

Also, while I had researched about this project, I looked at the scope of the project, i.e. target audience I would need to focus on. I observed NetBeans Developers, Technical Writers, and many others using Wiki for so much documentation, either for creating design specs, tutorials, faqs, or presenting New and Note Worthy for every release.

Proj-specific Issues dashboard also exist on the Wikis. I might have missed some more usage, still its a massive usage!

Aug ’08

Recently, I thought of making this project, as my graduation project, i.e. final year project for completing B.Tech. I got support from my batchmate, and together we started planning about the idea.

Currently… (Updated)

I would say, that I have come a long way, since creating that thought in January this year. Now, I would like to know, what do you feel about this project. I will provide some related documents shortly.

Actually, we have few things in mind, I will discuss one of the idea’s here-
We are thinking of extending the existing projects support in the NetBeans IDE, by adding another physical folder “wikis”, represented in Logical View as “Docs”, where one would be able to add a wikipage using “New File Type Wizard”, whose Editor support is currently being thought of, as either providing a Framework upon which Wiki standards like JSPWiki, Twiki, etc. can be implemented for NetBeans, OR making use of Wiki Creole 1.0!

Wiki Creole 1.0

Some more details, as formulated just an hour back. We are thinking of having a MultiView Editor[1], where user would have 2 buttons to toggle view between Design and HTML, similar to the one proposed by Winston Prakash[1], just a month back. See that post for insight on how such a Web Page Designer is presented within the IDE.

As far as I could understand Wiki Creole, it lets us create an XML file, as per the rules of a standardized XML Schema. XML file represents a Wiki Page, so if we could somehow make use of the above utility and XML Multiview API, XSLT or some thing which should make sense. Then, I guess this could be achieved as well.

[1] http://blogs.sun.com/winston/entry/web_page_designer_for_netbeans

Feedback…

Whatever limited knowledge we have about the above, we have come out with something like this to be implemented for use.

Now, I want to know, whether is it really going to help you? OR, I am wasting my time, thinking about this.

Few people from Sun, showed interest in this, either on mailing lists, or NetBeans Podcast (Gregg, Roman). They were in favor of having such a feature in NetBeans. Still, I would like to know from all of you, the community members. What say?

Thanks :)

Developer FAQ’s | Add To Update

Hey,

Recently, I asked on OpenIDE mailing list, whether I could add my 2 documentations based on NetBeans Platform, which were basically focused on tweaking XML Layer, and maximizing usability.

I got a positive reply from Jesse, he added his suggestions along with the approval. So, now you could see my 2 docs getting added there.

See section on Actions- Last 2 docs are mine. Hope, you guys like it and make use of it as soon as possible, because something is gonna change this season, when you start developing with NetBeans Platform for Release 6.5!

Also, updated this FAQ as well, based on my recent experience I had with the reactivating opened windows, rememeber?

Cya Later!

XML Hyperlink Project Update

Recently,

I blogged about How to Hyperlink XML Layer, with the bit update on my project as well. So, DTD file, if exists, got opened when I click on ARGUMENT, opening TAG Token Id’s, like <filesystem><file name=””></file></filesystem>

See the italics and bold faced text, they are hyperlinked. So, clicking them I am directed to the apt DTD file within the IDE. Earlier what happened, when I clicked the links again, file which is actually a TopComponent opened as Editor Window, was not requesting focus.

Navigation got smarter

However, now its working…If I click umpteen times, I will be directed to the doc same no. of times. You can get to see this feature in the Revamped Hyperlink Navigation Tutorial, based on a tutorial. I have developed a plugin for that for the time being, though expect the plugin to get updated soon.

NetBeans API’s (Lexer API) rocks!

Enjoy Technology…Enjoy NetBeans

How To Hyperlink XML Layer (Part 4)

Hey,

As you know, I have been running a blog series on “Playing with XML Layer”. I have written 3 parts till now, that were tips and Tricks…

Its time for Part 4, though this isn’t any tips and Tricks, as its an abstract tutorial to hyperlink XML Layer, which conforms to any Document-Type-Definition.

Already there exists a tutorial to hyperlink the value contained within the HREF attribute (HTML files) in Platform Tutorials.

At the bottom of that Tutorial, they have mentioned what could be the Next Steps to follow, basically Work Ahead!

Working with JSP and XML documents. (Same principle as above.)

Implementation

As you can see they have mentioned in one of the points, that XML documents can follow the same principle. So, as part of my internship project, I worked to hyperlink the ELEMENT names and their ATTLIST attributes.

For instance;

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
<filesystem>
    <folder name="Actions">
        <folder name="Tools">
            <file name="org-nvarun-tat-SayCheez.instance"/>
        </folder>
    </folder>
    <!--Remember SayCheez in earlier parts,
        this is just a snippet of that XML Layer-->
</filesystem>

Now, I made use of XMLTokenId, as the reference tutorial made use of HTMLTokenId, and did the implementation based on XMLTokenId constants.

Note-
The required HyperlinkProvider instance will be registered under text/xml, so any XML file with that MIME Type will hyperlink as suggested.

Features

  • When you click on filesystem/folder/file, a Dialog Box prompts the user with a message that you have clicked right hyperlink, IDE opens the DTD file represented by PUBLIC_ID.
  • For that to happen, click on PUBLIC_ID first to let the IDE know which DTD, does the XML is specified by, then PUBLIC_ID -> URI mapping takes place (redesigning, refer to XML Code Completion support).
  • Also, it extracts the DTD file clicking the SYSTEM_ID (if present is hyperlinked) conforms to and hyperlinks it, clicking it will launch the Browser with the identified URL.

Work Ahead

When you click on filesystem/folder/file, locate the DTD file and open in NetBeans IDE, with specific caret position. As you know, Angad has already created a module for DTD-intra-hyperlinking! So, you would be able to enjoy both functionalities, similar to the one existing in IntelliJ IDEA!

Updated on July 14, 2008

sTay Tuned for More…