La presentation technique de XWiki et GWT faite hier a l'OSSGTP avec Ludovic.
Et une autre presentation de GWT trouve ce matin sur onGWT:
A ‘new’ way to program dynamic web applications (pdf)

Aller au contenu | Aller au menu | Aller à la recherche
vendredi, mars 16 2007
Par jeremi Joslin le vendredi, mars 16 2007, 12:00
La presentation technique de XWiki et GWT faite hier a l'OSSGTP avec Ludovic.
Et une autre presentation de GWT trouve ce matin sur onGWT:
A ‘new’ way to program dynamic web applications (pdf)

mardi, janvier 16 2007
Par jeremi Joslin le mardi, janvier 16 2007, 19:58
Nous avons passe les 20 000 membres sur curriki. Nous sommes en train de preparer la suite, avec un editeur de cours tout en ajax.
Par jeremi Joslin le mardi, janvier 16 2007, 15:03
C’était un sujet dont j’avais déjà parle auparavant sur mon blog (il n’est plus dispo, il faudrait que je le reposte).
Nous vivons maintenant à une ère ou les informations circulent très vite. Il ne faut pas croire que vous êtes le seul à avoir une idée. Il y a surement quelqu’un a l’autre bout du monde ou au bout de votre rue qui a eu la même avant vous. Donc pourquoi la garder secret ? Et même si vous vouliez, il y a des chances qu’il y ait des fuites, que d’autres personnes en parlent. Alors que si vous la partagez, il y a des chances que des personnes la critiquent, vous propose des améliorations, leur aide… Cela se rapproche du concept du crowd sourcing qui dit que la foule des gens est plus intelligente que 1 personne car dans cette masse, vous aurez surement des personnes qui connaissent bien le domaine.
Par exemple, chez xwiki, tout le développement du produit est ouvert, des specs jusqu’au code. Vous pouvez voir tout ce qu’il se passe puisque vous avez accès a la RoadMap, mailing liste du projet, chat, list des bugs et documentation… Même certains projets clients sont ouverts, par exemple Curriki sur lequel je travaille.
To be continued…
Liens:
jeudi, décembre 21 2006
Par jeremi Joslin le jeudi, décembre 21 2006, 12:36
la mission de curriki est d'ameliorer l'education autour du monde en donant le pouvoir aux professeurs, etudiants et parents avec des ressources gratuites et libre.
C'est le projet sur lequel je travaille actuellement avec Ludovic.
Recemment il a ete cite sur des medias connus :
Accueil
Contribuer un asset
Visualiser un asset
Par jeremi Joslin le jeudi, décembre 21 2006, 11:13
Nous venons de sortir XWiki 1.0 beta 1 avec principalement une nouvelle interface et des bug corrige. Il y a aussi beaucoup d'amélioration au moteur, utiles pour les développeurs.
Il s'agit d'une très très grosse évolution de XWiki plus abordable pour tout un chacun et plus facile à mettre en oeuvre.
XWiki 1.0 beta 1 est déjà utilisé depuis pas mal de temps par beaucoup de nos Wikis clients. Pour le moment xwiki.com ne permet pas encore de créer un wiki "1.0" mais nous allons y travailler.
XWiki 1.0 beta 1 est surtout le premier gros travail d'équipe réalisé par l'équipe XPertNet ainsi que des contributeurs Open Source. Le site xwiki.org a été réalisé à l'occasion completement été remis-à-jour en particulier par un gros travail de Vincent Massol qui vient de rejoindre XWiki en tant que Directeur Technique.
News reprise du LudoBlog.
mardi, novembre 28 2006
Par jeremi Joslin le mardi, novembre 28 2006, 20:07
Hier, j'ai decouvert grace a stephane Lauriere la Simile Timeline. J'adore le concept de cette timeline. En gros, ca s'utilise comme une google maps (a la difference pret qu'elle lit un fichier xml, je n'ai pas trouve comment lui donner les valeurs directement). Tout est en javascript.
Il y a plein d'applications possible tel que le suivi des modifications d'un wiki dans le temps, la representation d'un agenda...
Je me suis amuse a faire une petite demo avec qui liste mes articles de blog sur cette frise temporaire. Bien sur, c'est base sur XWiki. Le code est tout simple :
J'ai une premiere page wiki qui va lire le fux rss de mon blog en utilisant le plugin de flux rss dans une page apelle "xml":
{pre}
<data>
#set($feed = $xwiki.feed.getFeed("http://www.jeremi.info/index.php/feed/rss2"))
#foreach($entry in $feed.entries)
<event start="$entry.getPublishedDate().toLocaleString()" title="$entry.title">$xwiki.getXMLEncoded($entry.description.value) ... $xwiki.getXMLEncoded("<a href=$entry.link>Suite</a>")
</event>
#end
</data>
{/pre}
et une deuxieme page qui contient le code de la timeline:
{pre}
<html>
<head>
<style type="text/css">
.timeline-default {
font-family: Trebuchet MS, Helvetica, Arial, sans serif;
font-size: 8pt;
border: 1px solid #aaa;
}
.timeline-event-bubble-body {
font-family: Trebuchet MS, Helvetica, Arial, sans serif;
font-size: 10pt;
}
</style>
<script src="http://simile.mit.edu/timeline/api/timeline-api.js" type="text/javascript"></script>
</head>
<body onload="onLoad();" onresize="onResize();">
<script type="text/javascript">
function onLoad() {
var eventSource = new Timeline.DefaultEventSource();
var theme = Timeline.ClassicTheme.create();
theme.event.label.width = 250; // px
theme.event.bubble.width = 250;
theme.event.bubble.height = 200;
var bandInfos = [
Timeline.createBandInfo({
eventSource: eventSource,
date: "Sep 10 2006 00:00:00 GMT",
width: "70%",
intervalUnit: Timeline.DateTime.DAY,
intervalPixels: 200,
theme: theme
}),
Timeline.createBandInfo({
eventSource: eventSource,
date: "Sep 10 2006 00:00:00 GMT",
width: "30%",
intervalUnit: Timeline.DateTime.MONTH,
intervalPixels: 200,
theme: theme,
showEventText: false,
trackHeight: 0.5,
trackGap: 0.2
})
];
bandInfos[1].syncWith = 0;
bandInfos[1].highlight = true;
tl = Timeline.create(document.getElementById("my-timeline"), bandInfos);
Timeline.loadXML("xml?xpage=rdf", function(xml, url) { eventSource.loadXML(xml, url); });
}
var resizeTimerID = null;
function onResize() {
if (resizeTimerID == null) {
resizeTimerID = window.setTimeout(function() {
resizeTimerID = null;
tl.layout();
}, 500);
}
}
</script>
<div id="my-timeline" class="timeline-default" style="height: 200px; border: 1px solid #aaa"></div>
</body>
</html>
{/pre}
et voila le resultat.
Cette librairie, a la difference des google maps, est disponible sous la licence BSD, qui est une licence tres permissive.
mardi, septembre 26 2006
Par jeremi Joslin le mardi, septembre 26 2006, 20:36
Vite fait une version francaise de ma news en anglais. Comme je l'ai annonce dans le titre, je m'en vais une semaine aux US avec Ludo, le jour de mon anniversaire. Ce n'est pas pour des vacances, mais pour aller a une conference et participer a une discussion sur l'open source au GooglePlex.
Trop content le Jeremi 
Par jeremi Joslin le mardi, septembre 26 2006, 20:31
You know what? Ok, it's on the title. I'm going to the GooglePlex for a conference about the Summer of Code. You can't imagine how excited I am to go there. I'm going there with Ludovic. I Hope to meet Patrick Chanezon, which is member of the Paris OSSGTP, and i meet him one time before he left to US.
We are also going to meet a client for a very exciting project. Ludovic has already talk a little about it, but I don't know if i can say more about it for the moment. You can easily find who is it if you look at the XWiki source code repository 
jeudi, septembre 21 2006
Par jeremi Joslin le jeudi, septembre 21 2006, 06:28
Today we will see the set function
Requirements :
We have seen yesterday how to create an object. Today, we will see how to set values by using the function Document.set(). You've seen, we can use "set" with the combination of "use", but he can also be used without. The function will search the first object with this fieldname and set the value.
Prototype in Groovy :
Document.set("fieldName", "value")
Example : We will check if an object Comment exist in the current document. If no, we create it. After, we will set all his values, and save the document.
#if (!$doc.getObject("XWiki.XWikiComments"))
$doc.createNewObject("XWiki.XWikiComments")
Object Added
#end
$doc.set("author", "Jeremi")
$doc.set("date", "14/10/2042 00:00:00")
$doc.set("comment", "This is my first comment using the use() function")
$doc.set("author", "Jeremi")
$doc.save()
Object saved
vendredi, septembre 15 2006
Par jeremi Joslin le vendredi, septembre 15 2006, 08:23
Today we will see the use function
Requirements :
This function is very helpfull when you deal with the objects. It allows you to select an object of a document by giving the name of his class and eventually his number. If there is multiple object of this class and you don't specify the number of it, it automatically selects the first one.
In Groovy :
Document.use("ClassName")
Document.use("ClassName", nbOfTheObject)
Example : We will check if an object Comment exist in the current document. If no, we create it. After, we will set all his values, and save the document.
#if (!$doc.getObject("XWiki.XWikiComments"))
$doc.createNewObject("XWiki.XWikiComments")
Object Added
#end
$doc.use("XWiki.XWikiComments")
$doc.set("author", "Jeremi")
$doc.set("date", "14/10/2042 00:00:00")
$doc.set("comment", "This is my first comment using the use() function")
$doc.set("author", "Jeremi")
$doc.save()
Object saved
You need to reload the document to see the modification.
mardi, septembre 12 2006
Par jeremi Joslin le mardi, septembre 12 2006, 12:42
Today we will see 2 functions for the price of one
the newObject / createNewObject function
Requirements :
This functions (newObject / createNewObject) allows you to create a new Object easilly. The first one return the number of the object, and the second directly the object.
The prototype in Groovy:
int Document.createNewObject("classname")
Object Document.newObject("classname")
Example : We will just add an Object Comment to the current Document
$doc.createNewObject("XWiki.XWikiComments")
$doc.save()
or
#set($obj = $doc.newObject("XWiki.XWikiComments"))
$obj.set("author", "Jeremi")
$obj.set("date", "14/10/2042 00:00:00")
$obj.set("comment", "This is my first comment using the use() function")
$obj.set("author", "Jeremi")
$doc.save()
You need to reload the document to see the modification. Be carefull, every time you will reload the page, he will create a new comment.
jeudi, septembre 7 2006
Par jeremi Joslin le jeudi, septembre 7 2006, 12:42
An Easy one for today :
Document.save()
This function allow to save a document if you have the right of editing it. It save it with the right of the person who see the wiki.
Sample in velocity:
#set($tmpDoc = $xwiki.getDocument("Test.Jeremi"))
$tmpDoc.setContent("test")
$tmpDoc.save()
Par jeremi Joslin le jeudi, septembre 7 2006, 08:17
Like it's been a long time i haven't blog, i'll try to do a new thing : One Day, One Function. I will write the documentation of a function, or a tip on the API of XWiki. I'll add it to the javadoc of the code soon after. It will be published every day i'm at the XWiki Office at 12h42. I hope to be able to do it 
The best thing is if you can complete it, correct or add example.