Affichage des messages blog dont le libellé est Archetype. Afficher tous les messages blog
Affichage des messages blog dont le libellé est Archetype. Afficher tous les messages blog

samedi 6 septembre 2008

"La rentrée" !

We have passed some busy summer holidays, and some announcement will come in the next few days. No comment, the content is a surprise :)

As 0.8.0 beta was based upon the (quite deprecated now) Prototype 1.5, the current "tip" works perfectly using now Prototype 1.6.

We originally made a branch in order to implement Prototype 1.6 compatibility as an experiment for the 0.9.0... But I've "mis-committed" (I've stupidly clicked on the bad repository when pushing the main changes) it on the current tip and continued with it.

The 0.8.0 was at this moment quite ready for a release, but we wanted to document a lot more the use of the framework itself. However, my job is to read and correct the documentation and I prefer a lor more coding than correcting a documentation, so... We did not release during the summer.

However a release is yet ready to go out, but based on Prototype 1.6. It has been quite heavily tested, even on the brand new Chrome, and we are hapopy with the result yet. But yet again we lack of documentation for this new release.

So, I think we will release the 0.9.0 before the 0.8.0 final(!!), because getting the 0.8.0 back from the history, test it, etc. will just be a pain compared to the 0.9.0 release.

Between the 2 releases, the main change is jumping from Prototype 1.5 to Prototype 1.6, we have added some handy tools in the 0.9.0, notably for playing easily with URLs.

Now what do we plan for 1.0 ? It depends. We have purposed an internship in our company focused on working on Archetype, in order to give it some cool tools to help for high trafic website, notably to minify the number of hits for loading the page (so mostly helping for bundling JavaScripts, and maybe help for CSS Sprites).

We have started in 0.8.0, the ability to choose what you want for specific part as a backend. We would like in the future version not to rely just on Prototype, but on any good framework we can use as a backend. We have just started a "secret" JQuery branch in order to see what is possible.

Other good news : a cool new open source project about social bookmarks relying only on Archetype to render the application should be there in some months. We've got a cool working beta version of it at Atos Worldline, but we have to do some work in order to release it as a free software ( we mainly have to avoid the use of our SSO for login). The main author of this project has written a very cool JS Code and I hope to convince him joining the Archetype Team :)

Again using Archetype, I've made a "plug&play" (call it widget if you want, but it's not exactly a widget) system in order to use a Solr ( http://lucene.apache.org/solr/ ) as a cross-domain search tool, that you can use on any web page that has a little form with an input and a submit event. I am working now on integrating Opensearch with it if it's possible.

We are very happy with Archetype can do yet, and we hope it's the same for you!

lundi 16 juin 2008

Archetype 0.8 beta

After months of work, Archetype 0.8 beta is available, and the stable version is targeted for next week (or at least before the end of june).

Change log includes a lot of rewrites, more modularization, better loading system which ables to go from development to wide band production sites with almost nothing to change to get from one to the other, a proof of concept of Log4J like logging system, multiple template system handling( Basic, EJS, DOMTAL, ...) , heterogeneous template system handling for components, and I think I forget almost half of the feature we've done.

Swiip is focusing right now on giving more documentation for the 0.8 release, including a FAQ, more about Graphical Components, and so on.

Have fun !

jeudi 27 mars 2008

Using Archetype as a dependency manager only

After a whole day work, I've modularised Archetype bootstrap dependencies in order to load just what is needed to use Archetype as a "Script Loader" only.

It has been tested this evening on a big project using about hundred of interdependent files successfully without any modification of the framework itself! It's available in the SVN trunk right now :)

This project based upon OpenLayers, with a lot of enhancement using multiple overloading classes files). This project does not use Joiners, nor the Event system, not the Archetype.Class enhancement.

There are now some "expert settings" in the configuration, giving you the ability to load and use only what you need.

This is a great news as Archetype starts to be very very strong on the dependency management side and can be easily used now on any Prototype 1.5.x based application (or not, but it just relies on Prototype 1.5.x).

In a script loading only configuration, the framework takes about 34kb totally uncompressed (with a lot of comments for JsDoc).
Using a JSmin(a basic JavaScript compressor) pass, it shrinks down to 15kb, and if your using the HTTP1.1 GZip compression on your web server, it's no more than a 4.8kb that will be used to go on the client!

Awesome, isn't it ? ;)

lundi 17 mars 2008

Archetype's resolver

We've found that we needed a real brain storm about how we'll resolve modules URL and dependencies through configuration file.

Archetype.require is one of the oldest methods of Archetype. Many functionnalities have been added. To manage all configurations like "submodules", "needs", "aPath" and "rPath" we completed and complexified this method. It made it become a real mess and it's pretty hard to understand and maintain.

Configurations need a real recursive analysis but old require was not completely recursive (however you had to do a complex configuration to encounter any problem) and that's why we had that famous first bug on our JIRA: AJF-1.

I have extracted the resolution of modules names in the require parameter to correctly handle a recursive configuration and manage layers to order dependency loading.
Require is now really much more complete and robust and can handle any exotic configurations.

In the same evolution, I've seen that our UMN (Unique Module Name) object was used every time we needed to extract realPath or URL of the module. I transformed the $U function from returning UMN object to the URL String to simplify coding. It causes many internal refactoring but any changes for final user.

I've just committed these new functionality. It implies many changes like variables refactoring and jsdocs comment review but it's fully working.

jeudi 13 mars 2008

What's up doc ?

Just a little news to say I've moved the blog to http://blog.archetypejs.org.

Besides that, I'm working on the next tutorials part, and Swiip is achieving a major internal move to split UMN resolving & files downloading. It will ease Unit Tests, be stronger, be cleaner and will solve the AJF-1 bug (great job Swiip !).

dimanche 9 mars 2008

Countries interested in Archetype since 0.1.5


Since latest release, Archetype has received on it's official website almost half of the earth countries :) !


Some detailed view about France and the USA :



Details for France
Mise en ligne par temsa


Details for the USA
Mise en ligne par temsa

FOSDEM Video

Ok, definitively not my best performance at all (too tired, too stressed, or whatever other excuse can be invoked ;D ), but here's my FOSDEM 2008 Lightning talk about Archetype.

As FOSDEM is for developers, I've shortened the presentation part in order to show a bit some part of the code behind the presentation itself : Slidy, this little app, made in about 2-3 hours (not including the CSS Adaptation for the FOSDEM and images around it) that just handle slide changes without any effect but a page counter.

I promise to do better next time, it was my first presentation in English with around 100 people in the room ;)

samedi 8 mars 2008

archetypejs.org update

I've spent my whole day working on images, Maven site template, and CSS of archetypejs.org.

Hope you'll find it cool !

jeudi 6 mars 2008

Better late than never: the 0.1.0 -0.1.5 Changelog

History:

02/23/2008 - 0.1.5 : More compatibility, industrialised with Maven,
improvements :

- Enhanced the bodyLogger to take more than one argument
- Enhanced Slidy to handle (at least on FF) previous/next slide via left/right key
- Added a namespace for Archetype Classes : ComponentManager, Components, Class etc. are now in Archetype.ComponentManager, etc. (this was the only solution for Archetype to work with Firefox3, as Components is defined by the browser itself)
- Added a new alias : $C for Achetype.Component
- Avoided any share of "_private" between same prototyped components (was a bug)
- Added the _ alias to Prototype.emptyFunction
- Added a default rootEquivalence in order not to have to define it always (keeped it configurable though)
- Added absolute path management for modules
- Added options by url loading (scriptaculous like) notably to be able to force a particular page controller
- Bug corrected : loading with many file with the same "module" name
- Refactored the tree to use default maven organisation
- Completly "Mavenised" the project in order to get something more industrial.
- Improved Unittests page (However, we will have to move to a better UnitTest framework)
- Embedded Prototype window Class 1.3. Not use at the moment but could do a great cross browser Logger.
- Improved Templates (Comments, etc.)
- Improved Archetype loading: no more synchronous Ajax (Sjaj if you prefer ^_^) during loading
- Bug corrected: you can now use multiple file with the same name and different extension safely
- Did some work to prepare managed i18n possibilities
- Added the $exist() helper in order to test if what is check is not undfined nor null.
- Created a Maven site with Presentation, documentation, JsDoc and Jslint coverage.
- Improved the JsDoc contained in the code
- Generated some JsDoc with jsDoc toolkit 2.0 SVN
- Prepared the FOSDEM using Slidy. Removed the original Slidy tutorial and moved to the FOSDEM presentation.
- Moved the different libraries used in "libs" directories.

10/18/2007 - 0.1.0 : initial release

mercredi 27 février 2008

The Prototype 1.6 headaches

You may have notice that we haven't switched yet to Prototype 1.6.x.

There are many reasons to this, and the main one is that Prototype has broken the compatibility ( http://prototypejs.org/api/hash ) with the original Hashmap format. This leads to some problems as we are used to enhance basic Hashmap to prototype ones when needed, particularly for the whole files loading process...

We often use hashmaps to define namespaces, and the new hashmap format leads to a particurlarly bad (for this purpose) new syntax to acces members.

We're looking for some good ways to handle this, and the new $H instruction (compared to the old one) has some interest: it's quick, make a "copy" of the original map (in facts it keeps the same reference to objects, and just copies strings and numbers) and gives a good way to come back to an "plain old" hashmap after prototype functions has been used.

So I'm working to find a good solution to use Prototype 1.6, and I even think of changing some backends (like object creations and custom events) to Prototype 1.6 ones. Not very easy to say at the moment whether I'll do this or not.

New template systems in the trunk !

We now have totally abstracted the template system used to render a template!

SVN Archetype provides 3 back end right now in the trunk:

  • Our original basic system based on regexp. It is simple and cannot do complicated stuff by itself, however, a view is not designed to do complicated things, so that's not a bad idea to keep this simple.
  • The template system from trimPath template: the project seems to lack of activity since 2005, however it's a stable version of a powerful template system using a Smarty like syntax, and we'll try to work together with the trimPath team to support it and improve it :)
  • The TAL template system with it's implementation domtal, which uses the browsers ability to parse xml. TAL is used in the Zope Template system (ZPT) and is one of greatest template system I know.
This may lead to a near futur release (0.1.6 ?)

EDIT: After discussing with Ivan Montes, current DOMTAL maintainer, the latest version is here and should be quite better. Ivan does not maintain it anymore, and we may maintain it for now. This little file lost on the web may lead to an opensource success story (well, I'm just thinking about the jRuby conference which had the same kind of story :) )

samedi 23 février 2008

Archetype 0.1.5 is out!

We just released the 0.1.5 version. This versions correct lots of bug, simplify lots of writings, and improve compatibility!

We decide to call it 0.1.5 because we have now a lot of corrections and improvements since the 0.1.0. We don't have all the stuff we expect for the 0.2.0 so we will waiting before tagging 0.2.0.

You can download the new version on the official Archetype website : http://archetypejs.org/

New http://archetypejs.org/ online

We published the new official website for Archetype : http://archetypejs.org/.
We just choose a new logo for the framework, thanks to Marc for created it for us!

With the Maven integration of Archetype we have been able to use the site generation system.
We filled all parameters of the project information, so the site can redirect on all resources of the project. We also added some presentations pages and others useful links. We will add more documentations in the future.

As Florian posted just before, with the new site, we can automatically publish jsdoc and jslint reports.

See you on http://archetypejs.org/!

mardi 5 février 2008

Archetype presented during the lightning talks at FOSDEM

Archetype has been selected (like 33 other project of 70 proposals) for a lightning talk at the 2008 FOSDEM !

The talk will present the framework to a wide community of (big ?) hackers at 15h20 on Sunday 02/24/2008.

Great! :D

lundi 28 janvier 2008

What's up, doc ?

It's about 2 months we haven't send even a note here.

Well, don't worry, Archetype is active as hell !

  • We've bought http://archetypejs.org
  • We've "mavenised" Archetype and Awiki. The goal was continuous integration, quality management, and help docuementing the projects.
  • We've "bazaared" and "launchpaded" archetype
  • We've created an experimental branch to use prototype 1.6 and modularize much more functionalities (and enhance them)
  • We've created a bug tracker for Archetype and Awiki
  • We've created a continuous integration server (not public ATM)
  • We have a little PoC of Awiki here (may or may not work ATM)
  • The Igenko CMS Project thinks about Archetype for the public frontend of their Java/Flex based CMS.
  • I'm going to the FOSDEM in February and I'm thinking of doing a lightning talk there, and may be present a bit the framework in the Mozilla dev room if I can :)

mercredi 28 novembre 2007

[EN]In road to Archetype 0.1.1

After some major bug correction, Archetype is in road for a 0.1.1, with some little enhancement :

We needed to move some code from Component.* to Archetype.Component.* . We have added a little "$C" alias to "Archetype.Component" in order to simplify the write of common commands.
We don't like to change the API, but putting a variable "Component" in "window" is in conflict with a browser native object "window.Component" in Firefox 3. So we had to move it to its new location.

In Archetype 0.1.0, when we create the Component, we have putted too much code in common between Components, so they were sharing their "_private" scope, containing all component variables, so 2 instantiations of the same component would share the same variables. Components are often used in a Singleton manner, but this is a major bug, so this has been corrected on the trunk and justify by itself a new release.

Archetype 0.1.1 should be available in a week or two, possibly in the same time as AWiki 0.1.0.... ;)

N.B.: The next Archetype version will be distributed with Prototype Window Class and may have a new logger based on it !

vendredi 9 novembre 2007

Le trunk bientôt compatible avec Firefox 3

Après avoir soupçonné bien des choses pour comprendre pourquoi Archetype ne fonctionnait pas correctement dans Firefox 3, un bon gros débogage de Swiip (sans Firebug, qui n'est pas encore dispo sur FF3 :( ... d'où galère) a trouvé le problème:
L'objet "Components" existe dans Firefox 3, indépendemment d'Archetype.

Aussi Firefox n'appéciait pas particulièrement que l'on change cet objet en mettant le notre. La solution a donc été de transformer les "Components" en "Archetype.Components". C'est un peu gênant pour la compatibilité avec l'existant mais bon :/

A voir si on garde cette forme, vu que ça alourdit les écritures... En tout cas on a trouvé la raison (merci Swiip ! ) c'est déjà le plus important.

Reste à comprendre les problèmes avec :

  • Safari 3 Mac (vu que sous win ça marche)
  • Konqueror
Mais j'avouerai que ce qui nous inquiétait le plus était FF3 :P

mercredi 24 octobre 2007

Slidy disponible en ligne

Pour tous ceux ayant la flemme de télécharger l'archive pour avoir une petite démo, j'ai mis directement en ligne Slidy sur ce site.

Archetype sur LinuxFR !

Une petite dépêche sur notre bébé a été publiée sur Da Linux French Page : http://linuxfr.org/2007/10/23/23242.html

mardi 23 octobre 2007

Archetype sur The INQ !

Un chouette article vient d'être publié sur la sortie d'Archetype sur The Inquirer France !

Tout se trouve ici !