ePortal I | ePortal II | ePortal III | ePortal IV | ePortal Movie
So, I’m working on a project called Nirvana ePortal, the objective is something like a site designer with some high-level concepts.
The current piece of work is the page designer that is done using ASP.Net, Ajax and Javascript. It is working in IE and Firefox, so, it is build using the standarts and a few IE-specific hacks.
The ultimate objective is, of course, to have a full-featured ASP.Net editor, in this case usable either by final users to design their home page or blog, or the ASP.Net guru.
I know the screenshots don’t show nothing pretty, or even powerful, but underneath the clothes that piece has 3 weeks of work and in the next few days it will be complete. I’ll post some more photos when I’ve integrated the menu, context menus and a few more goodies 😛
Wao ! I think it is awesome, especially since we have no free ASP.Net editor
😉
However, I guess that creating such an AJAX editor must be way longer than creating a standalone application, right ?
For a long time I was thinking that doing
such editor would be painful. Actually it isn’t, we have all the tecnology we may need avaible here, today.
My option for Ajax isn’t from the usability point of view only. I took into
account that using this approach I can make the server-side code to handle something like MonoDevelop GUI.
Another approach, the one I believe ASPEDITOR is following, is to use mozilla
composer mode and start patching arround to implement the missing features, which I believe it is bad because mozilla composer sucks and it’s ugly, and its not portable (my approach is cross-browser
compatible).
Looks neat. Will you be using reflection to expose all of the
controls and their properties?
Regarding AspNetEedit: you might want to have a look at it for ideas. Yes, we do use the Mozilla editor, but essentially only as a loosely bound canvas, so we
could instead use some other browser-based editor quite easily. In fact I’m seriously considering ditching it at some point, as it mangles markup and that will be hard to work around. But it’s fine
for now. The table editing and resizing are nice features.
The Mozilla extension essentially runs a little XUL app, loosely bound to the C# host, which contains the UI. The host sends the
editor a complete deserialised document, then sends it blocks of HTML generated by ASP.NET controls when they are created or their properties are changed, and it treats them as discrete
objects.
The XUL editor handles all the HTML editing, and tells the host when controls are removed or resized. Almost everything else is handled by the host UI. The edited document is sent
back to the host when saving, where it is serialised.
We use reflection to have access to all the controls and their properties and render them — even ones we don’t yet know about, though
not all features are supported yet, so they don’t all work.
Since all communication between the editor app and the host happens by message-passing, it could easily be adapted to use XMLHTTP,
though you’d obviously have to implement some kind of remote UI with AJAX. Also, it should be portable to Win32 in its current state, as I’ve tested it all apart from the C++ interop.
I’m
Feel free to have a look at the AspNetEdit code and to
committed to the MonoDevelop integration approach, so I won’t be competing with you, I’m just offering friendly advice and information
contact me if you have any queries about it.
Once again, it looks good, and I wish you luck with the project!
The current timming and
requirements of the project won’t allow me to use reflection to query the properties, I won’t be looking at that in the next days at least.
I’ll be storing the properties and their
“behaviours” staticly but, later, I’ll use a mixed mode where I wish some controls to hide some of the properties but I’ll using reflection.
So, I won’t look at AspNetEdit soon, anyway
this is a closed source product, and I’ve an NDA, unless I’m able to make my boss to open some parts of it I’ll not be able to work on a open-source version