Updated Modeling and EMF Website
diff --git a/_projectCommon.php b/_projectCommon.php
index 595e9d3..a7641e1 100644
--- a/_projectCommon.php
+++ b/_projectCommon.php
@@ -20,40 +20,40 @@
include_once $_SERVER["DOCUMENT_ROOT"] . "/modeling/includes/scripts.php";
$Nav->setLinkList(null);
-$Nav->addCustomNav("About This Project", "/projects/project_summary.php?projectid=modeling", "_self", 1);
-$Nav->addNavSeparator("Modeling", "/modeling/");
-$Nav->addCustomNav("Amalgam", "/modeling/amalgam/", "_self", 3);
-$Nav->addCustomNav("EMF", "/modeling/emf/", "_self", 3);
-$Nav->addCustomNav("EMFT", "/modeling/emft/", "_self", 3);
-$Nav->addCustomNav("GMP", "/modeling/gmp/", "_self", 3);
-$Nav->addCustomNav("GMT", "/gmt/", "_self", 3);
-$Nav->addCustomNav("MDT", "/modeling/mdt/", "_self", 3);
-$Nav->addCustomNav("M2M", "/m2m/", "_self", 3);
-$Nav->addCustomNav("M2T", "/modeling/m2t/", "_self", 3);
-$Nav->addCustomNav("TMF", "/modeling/tmf/", "_self", 3);
-$Nav->addNavSeparator("Downloads", "http://www.eclipse.org/modeling/downloads/");
-$Nav->addCustomNav("All-In-One Package", "http://www.eclipse.org/downloads/packages/eclipse-modeling-tools-includes-incubating-components/galileosr1", "_self", 2);
-$Nav->addCustomNav("Installation", "http://wiki.eclipse.org/Modeling_Project/Installation", "_self", 2);
-$Nav->addNavSeparator("Documentation", "http://wiki.eclipse.org/Category:Modeling");
-$Nav->addCustomNav("Getting Started", "http://wiki.eclipse.org/Modeling_Documentation", "_self", 2);
-$Nav->addCustomNav("Plan", "http://www.eclipse.org/projects/project-plan.php?projectid=modeling", "_self", 2);
-$Nav->addCustomNav("Search CVS", "http://www.eclipse.org/$PR/searchcvs.php?q=days%3A+7", "_self", 2);
+$Nav->addNavSeparator("Technologies", "/modeling/");
+$Nav->addCustomNav("EMF (Core)", "/modeling/emf/");
+$Nav->addCustomNav("Server and Storage", "/modeling/server.php", "_self", 3);
+$Nav->addCustomNav("User Interface", "/modeling/ui.php", "_self", 3);
+$Nav->addCustomNav("Graphical Modeling", "/modeling/graphical.php", "_self", 3);
+$Nav->addCustomNav("Modeling Tools", "/modeling/tools.php", "_self", 3);
+$Nav->addCustomNav("Transformation", "/modeling/transformation.php", "_self", 3);
+$Nav->addCustomNav("Textual Modeling", "/modeling/textual.php", "_self", 3);
+$Nav->addCustomNav("More...", "/modeling/more.php", "_self", 3);
-$Nav->addNavSeparator("Community", "http://wiki.eclipse.org/Modeling_Corner");
-$Nav->addCustomNav("Wiki", "http://wiki.eclipse.org/Modeling_Project", "_self", 2);
+
+
+$Nav->addNavSeparator("Downloads");
+$Nav->addCustomNav("Eclipse Modeling Tools", "http://eclipse.org/downloads/packages/eclipse-modeling-tools/lunar", "_self", 2);
+
+
+
+
+$Nav->addNavSeparator("Community", "/modeling/");
+
$Nav->addCustomNav("Newsgroups", "http://www.eclipse.org/newsgroups/index_project.php", "_self", 2);
$Nav->addCustomNav("Mailing Lists", "http://www.eclipse.org/mail/index_project.php", "_self", 2);
-$Nav->addCustomNav("Modeling Corner", "http://wiki.eclipse.org/Modeling_Corner", "_self", 2);
-$bugurl = "https://bugs.eclipse.org";
-$collist = "%26query_format%3Dadvanced&column_changeddate=on&column_bug_severity=on&column_priority=on&column_rep_platform=on&column_bug_status=on&column_product=on&column_component=on&column_version=on&column_target_milestone=on&column_short_short_desc=on&splitheader=0";
-$Nav->addCustomNav("Open Bugs", "$bugurl/bugs/colchange.cgi?rememberedquery=product%3DModeling%26bug_status%3DNEW%26bug_status%3DASSIGNED%26bug_status%3DREOPENED%26bug_status%3DRESOLVED%26resolution%3DFIXED%26resolution%3D---%26order%3Dbugs.bug_status%2Cbugs.target_milestone%2Cbugs.bug_id" . $collist, "_self", 2);
-$Nav->addCustomNav("Submit A Bug", "$bugurl/bugs/enter_bug.cgi?product=Modeling", "_self", 2);
-$Nav->addCustomNav("Contributors", "http://www.eclipse.org/$PR/project-info/team.php", "_self", 2);
+
+
+
+
$App->AddExtraHtmlHeader("<link rel=\"stylesheet\" type=\"text/css\" href=\"/modeling/includes/common.css\"/>\n");
+
+
+
addGoogleAnalyticsTrackingCodeToHeader();
$App->Promotion = TRUE; # set true to enable current eclipse.org site-wide promo
?>
diff --git a/_projectCommonold - Kopie.php b/_projectCommonold - Kopie.php
new file mode 100644
index 0000000..a7641e1
--- /dev/null
+++ b/_projectCommonold - Kopie.php
@@ -0,0 +1,59 @@
+<?php
+
+$PR = "modeling";
+
+$isBuildServer = (preg_match("/^(emft|modeling|build)\.eclipse\.org$|^localhost$/", $_SERVER["SERVER_NAME"]));
+$isBuildDotEclipseServer = $_SERVER["SERVER_NAME"] == "build.eclipse.org";
+$isWWWserver = (preg_match("/^(?:www.|)eclipse.org$/", $_SERVER["SERVER_NAME"]));
+$isEclipseCluster = (preg_match("/^(?:www.||download.|download1.|build.)eclipse.org$/", $_SERVER["SERVER_NAME"]));
+$writableBuildRoot = $isBuildDotEclipseServer ? "/opt/public/modeling" : "/home/www-data";
+
+if (isset ($_GET["skin"]) && preg_match("/^(Blue|EclipseStandard|Industrial|Lazarus|Miasma|Modern|OldStyle|Phoenix|PhoenixTest|PlainText|Nova)$/", $_GET["skin"], $regs))
+{
+ $theme = $regs[1];
+}
+else
+{
+ $theme = "solstice";
+}
+
+include_once $_SERVER["DOCUMENT_ROOT"] . "/modeling/includes/scripts.php";
+
+$Nav->setLinkList(null);
+
+
+$Nav->addNavSeparator("Technologies", "/modeling/");
+$Nav->addCustomNav("EMF (Core)", "/modeling/emf/");
+$Nav->addCustomNav("Server and Storage", "/modeling/server.php", "_self", 3);
+$Nav->addCustomNav("User Interface", "/modeling/ui.php", "_self", 3);
+$Nav->addCustomNav("Graphical Modeling", "/modeling/graphical.php", "_self", 3);
+$Nav->addCustomNav("Modeling Tools", "/modeling/tools.php", "_self", 3);
+$Nav->addCustomNav("Transformation", "/modeling/transformation.php", "_self", 3);
+$Nav->addCustomNav("Textual Modeling", "/modeling/textual.php", "_self", 3);
+$Nav->addCustomNav("More...", "/modeling/more.php", "_self", 3);
+
+
+
+$Nav->addNavSeparator("Downloads");
+$Nav->addCustomNav("Eclipse Modeling Tools", "http://eclipse.org/downloads/packages/eclipse-modeling-tools/lunar", "_self", 2);
+
+
+
+
+$Nav->addNavSeparator("Community", "/modeling/");
+
+$Nav->addCustomNav("Newsgroups", "http://www.eclipse.org/newsgroups/index_project.php", "_self", 2);
+$Nav->addCustomNav("Mailing Lists", "http://www.eclipse.org/mail/index_project.php", "_self", 2);
+
+
+
+
+
+
+$App->AddExtraHtmlHeader("<link rel=\"stylesheet\" type=\"text/css\" href=\"/modeling/includes/common.css\"/>\n");
+
+
+
+addGoogleAnalyticsTrackingCodeToHeader();
+$App->Promotion = TRUE; # set true to enable current eclipse.org site-wide promo
+?>
diff --git a/ejs_production.js b/ejs_production.js
new file mode 100644
index 0000000..a7c3d92
--- /dev/null
+++ b/ejs_production.js
@@ -0,0 +1 @@
+String.prototype.rsplit=function(F){var E=this;var A=F.exec(E);var G=new Array();while(A!=null){var D=A.index;var C=F.lastIndex;if((D)!=0){var B=E.substring(0,D);G.push(E.substring(0,D));E=E.slice(D)}G.push(A[0]);E=E.slice(A[0].length);A=F.exec(E)}if(!E==""){G.push(E)}return G};String.prototype.chop=function(){return this.substr(0,this.length-1)};var EjsScanner=function(B,C,A){this.left_delimiter=C+"%";this.right_delimiter="%"+A;this.double_left=C+"%%";this.double_right="%%"+A;this.left_equal=C+"%=";this.left_comment=C+"%#";if(C=="["){this.SplitRegexp=/(\[%%)|(%%\])|(\[%=)|(\[%#)|(\[%)|(%\]\n)|(%\])|(\n)/}else{this.SplitRegexp=new RegExp("("+this.double_left+")|(%%"+this.double_right+")|("+this.left_equal+")|("+this.left_comment+")|("+this.left_delimiter+")|("+this.right_delimiter+"\n)|("+this.right_delimiter+")|(\n)")}this.source=B;this.stag=null;this.lines=0};EjsView=function(A){this.data=A};EjsView.prototype.partial=function(A,B){if(!B){B=this.data}return new EJS(A).render(B)};EjsScanner.to_text=function(A){if(A==null||A===undefined){return""}if(A instanceof Date){return A.toDateString()}if(A.toString){return A.toString()}return""};EjsScanner.prototype={scan:function(D){scanline=this.scanline;regex=this.SplitRegexp;if(!this.source==""){var C=this.source.rsplit(/\n/);for(var A=0;A<C.length;A++){var B=C[A];this.scanline(B,regex,D)}}},scanline:function(A,D,G){this.lines++;var E=A.rsplit(D);for(var C=0;C<E.length;C++){var B=E[C];if(B!=null){try{G(B,this)}catch(F){throw {type:"EjsScanner",line:this.lines}}}}}};var EjsBuffer=function(B,C){this.line=new Array();this.script="";this.pre_cmd=B;this.post_cmd=C;for(var A=0;A<this.pre_cmd.length;A++){this.push(B[A])}};EjsBuffer.prototype={push:function(A){this.line.push(A)},cr:function(){this.script=this.script+this.line.join("; ");this.line=new Array();this.script=this.script+"\n"},close:function(){if(this.line.length>0){for(var A=0;A<this.post_cmd.length;A++){this.push(pre_cmd[A])}this.script=this.script+this.line.join("; ");line=null}}};EjsCompiler=function(B,C){this.pre_cmd=['___ejsO = "";'];this.post_cmd=new Array();this.source=" ";if(B!=null){if(typeof B=="string"){B=B.replace(/\r\n/g,"\n");B=B.replace(/\r/g,"\n");this.source=B}else{if(B.innerHTML){this.source=B.innerHTML}}if(typeof this.source!="string"){this.source=""}}C=C||"<";var A=">";switch(C){case"[":A="]";break;case"<":break;default:throw C+" is not a supported deliminator";break}this.scanner=new EjsScanner(this.source,C,A);this.out=""};EjsCompiler.prototype={compile:function(options){options=options||{};this.out="";var put_cmd="___ejsO += ";var insert_cmd=put_cmd;var buff=new EjsBuffer(this.pre_cmd,this.post_cmd);var content="";var clean=function(content){content=content.replace(/\\/g,"\\\\");content=content.replace(/\n/g,"\\n");content=content.replace(/"/g,'\\"');return content};this.scanner.scan(function(token,scanner){if(scanner.stag==null){switch(token){case"\n":content=content+"\n";buff.push(put_cmd+'"'+clean(content)+'";');buff.cr();content="";break;case scanner.left_delimiter:case scanner.left_equal:case scanner.left_comment:scanner.stag=token;if(content.length>0){buff.push(put_cmd+'"'+clean(content)+'"')}content="";break;case scanner.double_left:content=content+scanner.left_delimiter;break;default:content=content+token;break}}else{switch(token){case scanner.right_delimiter:switch(scanner.stag){case scanner.left_delimiter:if(content[content.length-1]=="\n"){content=content.chop();buff.push(content);buff.cr()}else{buff.push(content)}break;case scanner.left_equal:buff.push(insert_cmd+"(EjsScanner.to_text("+content+"))");break}scanner.stag=null;content="";break;case scanner.double_right:content=content+scanner.right_delimiter;break;default:content=content+token;break}}});if(content.length>0){buff.push(put_cmd+'"'+clean(content)+'"')}buff.close();this.out=buff.script+";";var to_be_evaled="this.process = function(_CONTEXT,_VIEW) { try { with(_VIEW) { with (_CONTEXT) {"+this.out+" return ___ejsO;}}}catch(e){e.lineNumber=null;throw e;}};";try{eval(to_be_evaled)}catch(e){if(typeof JSLINT!="undefined"){JSLINT(this.out);for(var i=0;i<JSLINT.errors.length;i++){var error=JSLINT.errors[i];if(error.reason!="Unnecessary semicolon."){error.line++;var e=new Error();e.lineNumber=error.line;e.message=error.reason;if(options.url){e.fileName=options.url}throw e}}}else{throw e}}}};EJS=function(B){this.set_options(B);if(B.url){var C=EJS.get(B.url,this.cache);if(C){return C}if(C==EJS.INVALID_PATH){return null}this.text=EJS.request(B.url);if(this.text==null){throw"There is no template at "+B.url}this.name=B.url}else{if(B.element){if(typeof B.element=="string"){var A=B.element;B.element=document.getElementById(B.element);if(B.element==null){throw A+"does not exist!"}}if(B.element.value){this.text=B.element.value}else{this.text=B.element.innerHTML}this.name=B.element.id;this.type="["}}var C=new EjsCompiler(this.text,this.type);C.compile(B);EJS.update(this.name,this);this.template=C};EJS.config=function(B){EJS.cache=B.cache!=null?B.cache:EJS.cache;EJS.type=B.type!=null?B.type:EJS.type;var A={};EJS.get=function(D,C){if(C==false){return null}if(A[D]){return A[D]}return null};EJS.update=function(D,C){if(D==null){return }A[D]=C};EJS.INVALID_PATH=-1};EJS.config({cache:true,type:"<"});EJS.prototype={render:function(B){var A=new EjsView(B);return this.template.process.call(A,B,A)},out:function(){return this.template.out},set_options:function(A){this.type=A.type!=null?A.type:EJS.type;this.cache=A.cache!=null?A.cache:EJS.cache;this.text=A.text!=null?A.text:null;this.name=A.name!=null?A.name:null},update:function(element,options){if(typeof element=="string"){element=document.getElementById(element)}if(options==null){_template=this;return function(object){EJS.prototype.update.call(_template,element,object)}}if(typeof options=="string"){params={};params.url=options;_template=this;params.onComplete=function(request){var object=eval(request.responseText);EJS.prototype.update.call(_template,element,object)};EJS.ajax_request(params)}else{element.innerHTML=this.render(options)}}};EJS.newRequest=function(){var C=[function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Microsoft.XMLHTTP")}];for(var A=0;A<C.length;A++){try{var B=C[A]();if(B!=null){return B}}catch(D){continue}}};EJS.request=function(C){var A=new EJS.newRequest();A.open("GET",C,false);try{A.send(null)}catch(B){return null}if(A.status==404||A.status==2||(A.status==0&&A.responseText=="")){return null}return A.responseText};EJS.ajax_request=function(B){B.method=(B.method?B.method:"GET");var A=new EJS.newRequest();A.onreadystatechange=function(){if(A.readyState==4){if(A.status==200){B.onComplete(A)}else{B.onComplete(A)}}};A.open(B.method,B.url);A.send(null)};EjsView.prototype.date_tag=function(C,O,A){if(!(O instanceof Date)){O=new Date()}var B=["January","February","March","April","May","June","July","August","September","October","November","December"];var G=[],D=[],P=[];var J=O.getFullYear();var H=O.getMonth();var N=O.getDate();for(var M=J-15;M<J+15;M++){G.push({value:M,text:M})}for(var E=0;E<12;E++){D.push({value:(E),text:B[E]})}for(var I=0;I<31;I++){P.push({value:(I+1),text:(I+1)})}var L=this.select_tag(C+"[year]",J,G,{id:C+"[year]"});var F=this.select_tag(C+"[month]",H,D,{id:C+"[month]"});var K=this.select_tag(C+"[day]",N,P,{id:C+"[day]"});return L+F+K};EjsView.prototype.form_tag=function(B,A){A=A||{};A.action=B;if(A.multipart==true){A.method="post";A.enctype="multipart/form-data"}return this.start_tag_for("form",A)};EjsView.prototype.form_tag_end=function(){return this.tag_end("form")};EjsView.prototype.hidden_field_tag=function(A,C,B){return this.input_field_tag(A,C,"hidden",B)};EjsView.prototype.input_field_tag=function(A,D,C,B){B=B||{};B.id=B.id||A;B.value=D||"";B.type=C||"text";B.name=A;return this.single_tag_for("input",B)};EjsView.prototype.is_current_page=function(A){return(window.location.href==A||window.location.pathname==A?true:false)};EjsView.prototype.link_to=function(B,A,C){if(!B){var B="null"}if(!C){var C={}}if(C.confirm){C.onclick=' var ret_confirm = confirm("'+C.confirm+'"); if(!ret_confirm){ return false;} ';C.confirm=null}C.href=A;return this.start_tag_for("a",C)+B+this.tag_end("a")};EjsView.prototype.submit_link_to=function(B,A,C){if(!B){var B="null"}if(!C){var C={}}C.onclick=C.onclick||"";if(C.confirm){C.onclick=' var ret_confirm = confirm("'+C.confirm+'"); if(!ret_confirm){ return false;} ';C.confirm=null}C.value=B;C.type="submit";C.onclick=C.onclick+(A?this.url_for(A):"")+"return false;";return this.start_tag_for("input",C)};EjsView.prototype.link_to_if=function(F,B,A,D,C,E){return this.link_to_unless((F==false),B,A,D,C,E)};EjsView.prototype.link_to_unless=function(E,B,A,C,D){C=C||{};if(E){if(D&&typeof D=="function"){return D(B,A,C,D)}else{return B}}else{return this.link_to(B,A,C)}};EjsView.prototype.link_to_unless_current=function(B,A,C,D){C=C||{};return this.link_to_unless(this.is_current_page(A),B,A,C,D)};EjsView.prototype.password_field_tag=function(A,C,B){return this.input_field_tag(A,C,"password",B)};EjsView.prototype.select_tag=function(D,G,H,F){F=F||{};F.id=F.id||D;F.value=G;F.name=D;var B="";B+=this.start_tag_for("select",F);for(var E=0;E<H.length;E++){var C=H[E];var A={value:C.value};if(C.value==G){A.selected="selected"}B+=this.start_tag_for("option",A)+C.text+this.tag_end("option")}B+=this.tag_end("select");return B};EjsView.prototype.single_tag_for=function(A,B){return this.tag(A,B,"/>")};EjsView.prototype.start_tag_for=function(A,B){return this.tag(A,B)};EjsView.prototype.submit_tag=function(A,B){B=B||{};B.type=B.type||"submit";B.value=A||"Submit";return this.single_tag_for("input",B)};EjsView.prototype.tag=function(C,E,D){if(!D){var D=">"}var B=" ";for(var A in E){if(E[A]!=null){var F=E[A].toString()}else{var F=""}if(A=="Class"){A="class"}if(F.indexOf("'")!=-1){B+=A+'="'+F+'" '}else{B+=A+"='"+F+"' "}}return"<"+C+B+D};EjsView.prototype.tag_end=function(A){return"</"+A+">"};EjsView.prototype.text_area_tag=function(A,C,B){B=B||{};B.id=B.id||A;B.name=B.name||A;C=C||"";if(B.size){B.cols=B.size.split("x")[0];B.rows=B.size.split("x")[1];delete B.size}B.cols=B.cols||50;B.rows=B.rows||4;return this.start_tag_for("textarea",B)+C+this.tag_end("textarea")};EjsView.prototype.text_tag=EjsView.prototype.text_area_tag;EjsView.prototype.text_field_tag=function(A,C,B){return this.input_field_tag(A,C,"text",B)};EjsView.prototype.url_for=function(A){return'window.location="'+A+'";'};EjsView.prototype.img_tag=function(B,C,A){A=A||{};A.src=B;A.alt=C;return this.single_tag_for("img",A)}
\ No newline at end of file
diff --git a/emf/_projectCommon.php b/emf/_projectCommon.php
index 67ac200..51b3360 100644
--- a/emf/_projectCommon.php
+++ b/emf/_projectCommon.php
@@ -27,6 +27,9 @@
$theme = "solstice";
}
+
+
+
/* projects/components in cvs */
/* "proj" => "cvsname" */
$cvsprojs = array (); /* should always be empty */
@@ -54,15 +57,10 @@
$projects = array(
"EMF (Core)" => "emf",
- "CDO" => "cdo",
- "Compare" => "compare",
+
"Model Query" => "query",
"Model Query 2" => "query2",
"Model Transaction" => "transaction",
- "Net4j" => "net4j",
- "QTV All-In-One" => "emfqtv",
- "SDO" => "sdo",
- "Teneo" => "teneo",
"Validation Framework" => "validation",
);
@@ -95,44 +93,29 @@
"N" => "Nightly"
);
-$Nav->addCustomNav("About This Project", "/projects/project_summary.php?projectid=" . str_replace("/", ".", $PR), "", 1);
-$Nav->addNavSeparator($projectName, "$rooturl/");
-foreach (array_keys(array_diff($projects, $extraprojects)) as $z)
-{
- $Nav->addCustomNav($z, "$rooturl/?project=$projects[$z]", "_self", 2);
-}
-$Nav->addNavSeparator("Downloads", "$downurl/$PR/downloads/?project=$proj");
-$Nav->addCustomNav("Installation", "http://wiki.eclipse.org/EMF/Installation", "_self", 2);
-$Nav->addCustomNav("Update Manager", "$rooturl/updates/", "_self", 2);
+
+
+
+
+
+
+
+
+$Nav->addNavSeparator("Home", "/modeling/emf");
+$Nav->addNavSeparator("Getting started", "/modeling/emf/gettingstarted.php");
$Nav->addNavSeparator("Documentation", "$rooturl/docs/");
-$Nav->addCustomNav("Getting Started", "http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.doc/references/overview/EMF.html", "_self", 2);
-$Nav->addCustomNav("FAQ", "http://wiki.eclipse.org/index.php/EMF/FAQ", "_self", 2);
-$Nav->addCustomNav("Plan", "http://www.eclipse.org/projects/project-plan.php?projectid=modeling.emf", "_self", 2);
-if (!$proj || $proj == "emf" || $proj == "sdo")
-{
- $Nav->addCustomNav("Release Notes", "http://www.eclipse.org/$PR/news/relnotes.php?project=" . ($proj?$proj:"emf") . "&version=HEAD", "_self", 2);
- $Nav->addCustomNav("Search CVS", "http://www.eclipse.org/$PR/searchcvs.php?q=project%3A+org.eclipse.emf".($proj=="sdo"?".ecore.sdo":"")."+days%3A+7", "_self", 2);
-}
-else
-{
- $Nav->addCustomNav("Release Notes", "http://www.eclipse.org/$PR/news/relnotes.php?project=$proj&version=HEAD", "_self", 2);
- $Nav->addCustomNav("Search CVS", "http://www.eclipse.org/$PR/searchcvs.php?q=file%3A+org.eclipse." . strtolower($projectName) . "%2F" . ($proj?"org.eclipse.emf.".$proj."%2F":"") . "+days%3A+7", "_self", 2);
-}
-$Nav->addNavSeparator("Community", "http://wiki.eclipse.org/Modeling_Corner");
-$Nav->addCustomNav("Wiki", "http://wiki.eclipse.org/" . $projectName, "_self", 2);
-$Nav->addCustomNav("Newsgroups", "$rooturl/newsgroup-mailing-list.php", "_self", 2);
-$Nav->addCustomNav("Modeling Corner", "http://wiki.eclipse.org/Modeling_Corner", "_self", 2);
-$bugcoms = array(); foreach ($projects as $l => $p){ $bugcoms[$p] = $p; }
-$bugcoms["emf"] = implode("%26component=", array("Core", "Doc", "Edit", "Mapping", "Tools", "XML/XMI")); /* for emf, show all the emf (sub)components */
-$collist = "&columnlist=changeddate%2Cbug_severity%2Cpriority%2Crep_platform%2Cbug_status%2Cproduct%2Ccomponent%2Cversion%2Ctarget_milestone%2short_desc";
-$Nav->addCustomNav("Open Bugs", "$bugurl/bugs/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=" . $projectName . (isset ($bugcoms[$proj]) ? "&component=$bugcoms[$proj]" : "") . "&query_format=advanced&order=bug_status%2Ctarget_milestone%2Cbug_id$collist", "_self", 2);
+$Nav->addNavSeparator("Downloads", "/modeling/emf/downloads/");
+
+$Nav->addNavSeparator("Community", "http://wiki.eclipse.org/Modeling_Corner");
+
+$Nav->addCustomNav("Newsgroups", "$rooturl/newsgroup-mailing-list.php", "_self", 2);
$Nav->addCustomNav("Submit A Bug", "$bugurl/bugs/enter_bug.cgi?product=" . $projectName . (isset ($bugcoms[$proj]) ? "&component=$bugcoms[$proj]" : ""), "_self", 2);
-$Nav->addCustomNav("Contributors", "http://www.eclipse.org/$PR/project-info/team.php", "_self", 2);
-unset ($bugcoms);
+
+$Nav->addCustomNav("About This Project", "/projects/project_summary.php?projectid=emf");
$App->AddExtraHtmlHeader("<link rel=\"stylesheet\" type=\"text/css\" href=\"/modeling/includes/common.css\"/>\n");
addGoogleAnalyticsTrackingCodeToHeader();
diff --git a/emf/_projectCommonold.php b/emf/_projectCommonold.php
new file mode 100644
index 0000000..7941031
--- /dev/null
+++ b/emf/_projectCommonold.php
@@ -0,0 +1,106 @@
+<?php
+$Nav->setLinkList(null);
+
+$PR = "modeling/emf";
+$projectName = "EMF";
+$defaultProj = "/emf";
+
+$isEMFserver = (preg_match("/^emf(?:\.torolab\.ibm\.com)$/", $_SERVER["SERVER_NAME"])) || (preg_match("/^(emft|modeling)\.eclipse\.org$/", $_SERVER["SERVER_NAME"]));
+$isBuildServer = (preg_match("/^(emft|modeling|build)\.eclipse\.org$/", $_SERVER["SERVER_NAME"])) || $isEMFserver;
+$isBuildDotEclipseServer = $_SERVER["SERVER_NAME"] == "build.eclipse.org";
+$isWWWserver = (preg_match("/^(?:www.|)eclipse.org$/", $_SERVER["SERVER_NAME"]));
+$isEclipseCluster = (preg_match("/^(?:www.||download.|download1.|build.)eclipse.org$/", $_SERVER["SERVER_NAME"]));
+$debug = (isset ($_GET["debug"]) && preg_match("/^\d+$/", $_GET["debug"]) ? $_GET["debug"] : -1);
+$writableRoot = ($isBuildServer ? $_SERVER["DOCUMENT_ROOT"] . "/modeling/includes/" : "/home/data/httpd/writable/www.eclipse.org/");
+$writableBuildRoot = $isBuildDotEclipseServer ? "/opt/public/modeling" : "/home/www-data";
+
+$rooturl = "http://" . $_SERVER["HTTP_HOST"] . "/$PR";
+$downurl = ($isBuildServer ? "" : "http://www.eclipse.org");
+$bugurl = "https://bugs.eclipse.org";
+
+if (isset ($_GET["skin"]) && preg_match("/^(Blue|EclipseStandard|Industrial|Lazarus|Miasma|Modern|OldStyle|Phoenix|PhoenixTest|PlainText|Nova)$/", $_GET["skin"], $regs))
+{
+ $theme = $regs[1];
+}
+else
+{
+ $theme = "solstice";
+}
+
+/* projects/components in cvs */
+/* "proj" => "cvsname" */
+$cvsprojs = array (); /* should always be empty */
+
+/* sub-projects/components in cvs for projects/components above (if any) */
+/* "cvsname" => array("shortname" => "cvsname") */
+$cvscoms = array(
+ "org.eclipse.emf" => array (
+ "emf" => "org.eclipse.emf",
+
+ "cdo" => "org.eclipse.emf.cdo",
+ "compare" => "org.eclipse.emf.compare",
+ "query" => "org.eclipse.emf.query",
+ "query2" => "org.eclipse.emf.query",
+ "transaction" => "org.eclipse.emf.transaction",
+ "emfqtv" => "org.eclipse.emf.emfqtv",
+ "net4j" => "org.eclipse.emf.net4j",
+ "sdo" => "org.eclipse.emf.ecore.sdo",
+ "teneo" => "org.eclipse.emf.teneo",
+ "validation" => "org.eclipse.emf.validation",
+
+ )
+);
+
+
+
+
+$extraprojects = array("QTV All-In-One" => "emfqtv"); //components with only downloads, no info yet, "prettyname" => "directory"
+$nodownloads = array("emfqtv"); //components with only information, no downloads, or no builds available yet, "projectkey"
+$nonewsgroup = array("query","query2","transaction","validation","emfqtv", "net4j","teneo","cdo","compare", "sdo"); //components without newsgroup
+$nomailinglist = array("query","query2","transaction","validation","emfqtv", "net4j","teneo","cdo", "compare", "sdo"); //components without mailinglist
+$incubating = array("query2"); // components which are incubating - EMF will never have incubating components -- see EMFT
+$nomenclature = "Component"; //are we dealing with "components" or "projects"?
+
+include_once $_SERVER["DOCUMENT_ROOT"] . "/modeling/includes/scripts.php";
+
+$regs = null;
+$proj = (isset($_GET["project"]) && preg_match("/^(" . join("|", $projects) . ")$/", $_GET["project"], $regs) ? $regs[1] : getProjectFromPath($PR));
+$projct= preg_replace("#^/#", "", $proj);
+
+$buildtypes = array(
+ "R" => "Release",
+ "S" => "Stable",
+ "I" => "Integration",
+ "M" => "Maintenance",
+ "N" => "Nightly"
+);
+
+$Nav->addCustomNav("About This Project", "/projects/project_summary.php?projectid=" . str_replace("/", ".", $PR), "", 1);
+$Nav->addNavSeparator($projectName, "$rooturl/");
+
+
+
+$Nav->addNavSeparator("Downloads", "$downurl/$PR/downloads/?project=$proj");
+$Nav->addCustomNav("Installation", "http://wiki.eclipse.org/EMF/Installation", "_self", 2);
+$Nav->addCustomNav("Update Manager", "$rooturl/updates/", "_self", 2);
+
+$Nav->addNavSeparator("Documentation", "$rooturl/docs/");
+$Nav->addCustomNav("Getting Started", "http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.doc/references/overview/EMF.html", "_self", 2);
+$Nav->addCustomNav("FAQ", "http://wiki.eclipse.org/index.php/EMF/FAQ", "_self", 2);
+$Nav->addCustomNav("Plan", "http://www.eclipse.org/projects/project-plan.php?projectid=modeling.emf", "_self", 2);
+
+$Nav->addNavSeparator("Community", "http://wiki.eclipse.org/Modeling_Corner");
+$Nav->addCustomNav("Wiki", "http://wiki.eclipse.org/" . $projectName, "_self", 2);
+$Nav->addCustomNav("Newsgroups", "$rooturl/newsgroup-mailing-list.php", "_self", 2);
+
+
+
+$Nav->addCustomNav("Open Bugs", "$bugurl/bugs/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=" . $projectName . (isset ($bugcoms[$proj]) ? "&component=$bugcoms[$proj]" : "") . "&query_format=advanced&order=bug_status%2Ctarget_milestone%2Cbug_id$collist", "_self", 2);
+$Nav->addCustomNav("Submit A Bug", "$bugurl/bugs/enter_bug.cgi?product=" . $projectName . (isset ($bugcoms[$proj]) ? "&component=$bugcoms[$proj]" : ""), "_self", 2);
+$Nav->addCustomNav("Contributors", "http://www.eclipse.org/$PR/project-info/team.php", "_self", 2);
+unset ($bugcoms);
+
+$App->AddExtraHtmlHeader("<link rel=\"stylesheet\" type=\"text/css\" href=\"/modeling/includes/common.css\"/>\n");
+addGoogleAnalyticsTrackingCodeToHeader();
+$App->Promotion = TRUE; # set true to enable current eclipse.org site-wide promo
+?>
diff --git a/emf/docs/index.php b/emf/docs/index.php
index de92cfd..b8e9210 100755
--- a/emf/docs/index.php
+++ b/emf/docs/index.php
@@ -10,7 +10,8 @@
<h1>EMF Documentation</h1>
-<p>New to EMF? Start with an <a href="#overviews">overview</a> or a <a href="#tutorials">tutorial</a>. See also links and categories at right.
+<p>New to EMF? Start with <b><a href="http://eclipsesource.com/blogs/tutorials/emf-tutorial/">this tutorial</a></b> and learn <b><a href="http://eclipsesource.com/blogs/tutorials/emf-tutorial/">"What every Eclipse developer should know about EMF"</a></b>. Have a look at <a href="#overviews">overview</a> or a <a href="#tutorials">tutorial</a>.
+ Also browser the help system of your Eclipse IDE (Help => Help Contents => EMF Developer Guide) and the <b><a href="newsgroup-mailing-list.php">EMF Newsgroup</a></b> Please report broken links and suggest new content.
</p>
<div class="homeitem3col">
@@ -18,27 +19,22 @@
<h3>EMF Overview Papers</h3>
<ul>
+ <li><div>September 9 2014</div><a href="http://eclipsesource.com/blogs/tutorials/emf-tutorial/">What every Eclipse developer should know about EMF</a><br/>
+ Contributed by Maximilian Koegel and Jonas Helming
+ </li>
<li>
<div>July 27 2009</div>EMF Book: <a target="_out" href="http://www.informit.com/title/9780321331885">Eclipse Modeling Framework</a>, Second Edition<br/>
<a target="_out" href="http://wiki.eclipse.org/EMF_Book_Errata">Errata</a>
</li>
- <li>
- <div>July 03 2008</div><a href="http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.doc/references/overview/EMF.html">The Eclipse Modeling Framework Overview</a>
- </li>
+
<li>
<div>August 12 2004</div>EMF Book: <a target="_out" href="http://www.awprofessional.com/titles/0131425420">Eclipse Modeling Framework</a>, First Edition<br/>
<a target="_out" href="http://www.awprofessional.com/content/images/0131425420/samplechapter/budinskych02.pdf">Chapter 2 Sample</a> (PDF)
</li>
- <li>
- <div>June 1 2004</div><a href="http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.doc/references/overview/EMF.Edit.html">The EMF Edit Framework Overview</a>
- </li>
-
- <li>
- <div>June 23 2005</div><a href="http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.doc/references/overview/EMF.Validation.html">The EMF Validation Framework Overview</a>
- </li>
+
<li>
<div>June 28 2004</div><a href="http://www.eclipse.org/modeling/emf/docs/overviews/FeatureMap.pdf">EMF Feature Maps</a> (PDF)
@@ -60,31 +56,14 @@
<h3>EMF Tutorials</h3>
<ul>
+ <li><div>September 9 2014</div><a href="http://eclipsesource.com/blogs/tutorials/emf-tutorial/">What every Eclipse developer should know about EMF</a><br/>
+ Contributed by Maximilian Koegel and Jonas Helming
+ </li>
<li><div>March 3 2010</div><a href="http://www.vogella.de/articles/EclipseEMF/article.html">A Tour of the Eclipse Modeling Framework</a><br/>
Contributed by Lars Vogel
</li>
- <li>
- <div>May 31 2006</div><a href="http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.doc/tutorials/clibmod/clibmod.html">Tutorial: Generating an EMF Model</a>
- </li>
-
- <li>
- <div>May 31 2006</div><a href="http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.doc/tutorials/slibmod/slibmod.html">Tutorial: Generating an Extended EMF Model</a>
- </li>
-
- <li>
- <div>May 31 2006</div><a href="http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.doc/tutorials/xlibmod/xlibmod.html">Tutorial: Generating an EMF Model using XML Schema</a>
- </li>
-
- <li>
- <div>Jan 3 2007</div><a target="_out" href="http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.doc/tutorials/jet1/jet_tutorial1.html">JET Tutorial Part 1 (Introduction to JET)</a><br/>
- Contributed by Remko Popma
- </li>
-
- <li>
- <div>Jan 3 2007</div><a target="_out" href="http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.doc/tutorials/jet2/jet_tutorial2.html">JET Tutorial Part 2 (Write Code that Writes Code)</a><br/>
- Contributed by Remko Popma
- </li>
+
<li>
<div>August 8 2006</div><a target="_out" href="http://www-128.ibm.com/developerworks/java/library/os-ecl-jet/index.html?ca=drs">Create more -- better -- code in Eclipse with JET</a><br/>
@@ -95,19 +74,7 @@
<div>Oct 12 2004</div><a target="_out" href="http://www.eclipse.org/articles/Article-EMF-goes-RCP/rcp.html">Tutorial: Generating a Rich Client Platform (RCP) Application Using EMF</a>
</li>
- <li>
- <div>June 2 2004</div><a href="http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.doc/tutorials/rosepkg/rosepkg.html">Specifying Package Information in Rose</a>
- </li>
-
- <li>
- <div>Dec 5 2006</div>Getting EMF Source Files from CVS: <a href="http://wiki.eclipse.org/EMF/Getting_Source">Using Eclipse</a> and <a href="http://wiki.eclipse.org/index.php/CVS_Source_From_Mapfile">For A Given Build's Mapfile</a> (commandline)
-
-
- </li>
-
- <li>
- <div>June 13 2005</div><a href="http://www.eclipse.org/modeling/emf/docs/misc/UsingUpdateManager/UsingUpdateManager.html">Using Eclipse Update Manager to Update EMF, SDO & XSD</a>
- </li>
+
</ul>
</div>
@@ -149,16 +116,7 @@
<div><i><a href="http://wiki.eclipse.org/index.php?title=EMF-FAQ&action=history">history</a></i></div><a href="http://wiki.eclipse.org/index.php/EMF-FAQ">Frequently Asked Questions (FAQ)</a>
</li>
- <li>
- <div>Sept 23 2004</div>Eclipse.org Newsgroups - Offline Searching with
- <a href="http://www.eclipse.org/modeling/emf/docs/misc/SearchingNewsgroups/SearchingNewsgroupsMozilla.html">Mozilla</a> or
- <a href="http://www.eclipse.org/modeling/emf/docs/misc/SearchingNewsgroups/SearchingNewsgroupsOutlook.html">Outlook Express</a>
- </li>
-
- <li>
- <div>Feb 27 2006</div>Eclipse.org Newsgroups - <a href="http://www.eclipse.org/modeling/emf/newsgroup-mailing-list.php">Online Searching</a> with
- <a href="http://wiki.eclipse.org/index.php/Searching_Eclipse_Newsgroups_With_Firefox">Firefox</a>
- </li>
+
</ul>
</div>
@@ -211,6 +169,20 @@
<h3>Presentations & Workshops</h3>
<ul>
+
+ <li>
+ <div>Mar 2014</div>What every Eclipse Developer should know about EMF
+ <ul>
+ <li><a href="https://www.eclipsecon.org/na2014/session/what-every-eclipse-developer-should-know-about-emf">Tutorial (Jonas Helming)</a></li>
+ </ul>
+ </li>
+ <li>
+ <div>Mar 2014</div>Getting married with EMF
+ <ul>
+ <li><a href="https://www.eclipsecon.org/na2014/session/getting-married-emf">Talks (Jonas Helming)</a></li>
+ </ul>
+ </li>
+
<li>
<div>Jan 30 2009</div>Scale, Share and Store your Models with CDO 2.0
<ul>
@@ -338,46 +310,7 @@
</ul>
</div>
-<div class="homeitem3col">
- <a name="sdo"></a>
- <h3>Service Data Objects (SDO)</h3>
- <ul>
- <li>
- <div>Sep 28 2004</div><a target="_out" href="http://www-106.ibm.com/developerworks/java/library/j-sdo/">Introduction to Service Data Objects</a>
- </li>
-
- <li>
- <div>Oct 12 2004</div><a href="http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.ecore.sdo.doc/tutorials/datagraph/datagraph.html">Tutorial: Using the SDO Data Graph Editor</a>
- </li>
-
- <li>
- <div>June 29 2005</div>SDO Reference:
- <ul>
- <li><a target="_out" href="http://www.ibm.com/developerworks/java/library/j-commonj-sdowmt/">Announcement</a>, <a target="_out" href="ftp://www6.software.ibm.com/software/developer/library/j-commonj-sdowmt/Next-Gen-Data-Programming-Whitepaper.doc">Whitepaper</a></li>
- <li><a target="_out" href="ftp://www6.software.ibm.com/software/developer/library/j-commonj-sdowmt/Commonj-SDO-Specification-v1.0.pdf">1.0 specification</a>, <a target="_out" href="ftp://www6.software.ibm.com/software/developer/library/j-commonj-sdowmt/Commonj-SDO-Specification-v2.0.pdf">2.0 specification</a></li>
- <li><a target="_out" href="http://www.eclipse.org/modeling/emf/javadoc/">Javadoc</a></li>
- </ul>
- </li>
-
- <li>
- <div>June 7 2006</div><a target="_out" href="http://incubator.apache.org/tuscany/sdo_index.html">Apache Tuscany Project</a>
- </li>
-
-
- <li>
- <div>July 1 2004</div><a target="_out" href="http://www.redbooks.ibm.com/redbooks/pdfs/sg246361.pdf">Redbook: WebSphere Studio 5.1.2 JavaServer Faces and Service Data Objects</a>
- </li>
-
- <li>
- <div>July 1 2004</div><a target="_out" href="http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0407saracco/index.html">Enterprise Information Integration Technology</a> (usage)
- </li>
-
- <li>
- <div>Oct 6 2004</div><a target="_out" href="http://www.sys-con.com/story/?storyid=46652&DE=1">Integrating relational data into Web applications</a> (an introduction to SDO)
- </li>
- </ul>
-</div>
<div class="homeitem3col">
<a name="contributions"></a>
@@ -480,160 +413,31 @@
</ul>
</div>
-<div class="homeitem3col">
- <a name="emf21xdocs"></a>
- <h3>EMF 2.1</h3>
- <ul>
- <li>
- <div>July 6 2005</div><a href="http://www.eclipse.org/modeling/emf/docs/performance/EMFPerformanceTestsResults.html">EMF 2.1.0 vs. 2.0.1 Performance Report</a>
- </li>
- <li>
- <div>July 6 2005</div><a href="http://www.eclipse.org/modeling/emf/docs/performance/EMFPerformanceTestsFAQ.html">EMF 2.1.0 vs. 2.0.1 Performance FAQ</a>
- </li>
- <li>
- <div>May 19 2005</div><a href="http://www.eclipse.org/modeling/emf/docs/2.x/whatsnew/tools2.1.html">What's New In EMF <u>Tools</u>? (2.1.0.I200505191347)</a>
- </li>
- </ul>
+
+
</div>
-
-<div class="homeitem3col">
- <a name="emf20xdocs"></a>
- <h3>EMF 2.0</h3>
-
- <ul>
- <li>
- <div>June 29 2004</div><a href="http://www.eclipse.org/modeling/emf/docs/2.x/tutorials/clibmod/clibmod_emf2.0.html">Tutorial: Generating an EMF 2.0 Model</a>
- </li>
-
- <li>
- <div>June 29 2004</div><a href="http://www.eclipse.org/modeling/emf/docs/2.x/tutorials/slibmod/slibmod_emf2.0.html">Tutorial: Generating an Extended EMF 2.0 Model</a>
- </li>
-
- <li>
- <div>June 29 2004</div><a href="http://www.eclipse.org/modeling/emf/docs/2.x/tutorials/xlibmod/xlibmod_emf2.0.html">Tutorial: Generating an EMF 2.0 Model using XML Schema</a>
- </li>
-
- <li>
- <div>May 31 2004</div><a target="_out" href="http://www.eclipse.org/modeling/emf/docs/2.x/tutorials/jet1/jet_tutorial1_emf2.0.html">JET Tutorial Part 1 (Introduction to JET)</a><br/>
- Contributed by Remko Popma [EMF 2.0]
- </li>
-
- <li>
- <div>May 31 2004</div><a target="_out" href="http://www.eclipse.org/modeling/emf/docs/2.x/tutorials/jet2/jet_tutorial2_emf2.0.html">JET Tutorial Part 2 (Write Code that Writes Code)</a><br/>
- Contributed by Remko Popma [EMF 2.0]
- </li>
- </ul>
-</div>
-
-<div class="homeitem3col">
- <a name="emf1xdocs"></a>
- <h3>EMF 1.x</h3>
-
- <ul>
- <li>
- <div>May 27 2004</div><a href="http://www.eclipse.org/modeling/emf/docs/1.x/UG/EMF_v1.0_Users_Guide.html">EMF 1.0 Users' Guide</a>
- </li>
-
- <li>
- <div>May 27 2004</div><a href="http://www.eclipse.org/modeling/emf/docs/1.x/JarDepsExternal/JarDepsExternal.html">EMF 1.0 Jar Dependencies for Running Standalone as a Java Application Outside Eclipse</a>
- </li>
-
- <li>
- <div>May 19 2003</div><a href="http://www.eclipse.org/modeling/emf/docs/1.x/tutorials/clibmod/clibmod_emf1.1.html">Tutorial: Generating an EMF 1.1 Model</a>
- </li>
-
- <li>
- <div>May 1 2003</div><a href="http://www.eclipse.org/modeling/emf/docs/1.x/tutorials/slibmod/slibmod_emf1.1.html">Tutorial: Generating an Extended EMF 1.1 Model</a>
- </li>
-
- <li>
- <div>May 22 2003</div><a href="http://www.eclipse.org/modeling/emf/docs/1.x/tutorials/xlibmod/xlibmod_emf1.1.html">Tutorial: Generating an EMF 1.1 Model using XML Schema</a>
- </li>
-
- <li>
- <div>August 20 2003</div><a href="http://www.eclipse.org/modeling/emf/docs/1.x/tutorials/glibmod/glibmod_emf1.1.html">Tutorial: Creating an EMF 1.1 Model using a GraphicalEditor</a>
- </li>
- </ul>
-</div>
-
-<div class="homeitem3col">
- <a name="plandocs"></a>
- <h3>Project Management</h3>
- <ul>
- <li><a href="http://wiki.eclipse.org/Eclipse_Modeling_Framework#Plans">EMF & QTV Project Plans</a></li>
- <li><div>(<a href="http://www.eclipse.org/projects/dev_process/release-review.php">?</a>)</div><a href="http://www.eclipse.org/projects/previous-release-reviews.php">Past Reviews</a></li>
- <li><a href="http://wiki.eclipse.org/Eclipse_Modeling_Framework#New_.26_Noteworthy">New & Noteworthy</a></li>
- <li><a href="http://www.eclipse.org/modeling/emf/eclipse-project-ip-log.php">Project IP Log</a> (CSV)</li>
- <li><a href="http://www.eclipse.org/projects/timeline/">Master Timeline</a></li>
- <li>
- <div>August 26, 2005</div><a href="http://www.eclipse.org/modeling/emf/docs/architecture/jet2/jet2.html">JET Enhancement Proposal (JET2)</a>
- </li>
- </ul>
-</div>
-EOHTML;
-
-echo "</div>\n";
-
-print "<div id=\"rightcolumn\">\n";
-
-print '<div class="sideitem">' . "\n" . '<h6>New Docs</h6>';
-getNews(3, "docs");
-print ' <ul>
- <li><a href="/' . $PR . '/news-whatsnew.php">Older news</a></li>
- </ul>
- </div>
-';
-
-print <<<EOHTML
-<div class="sideitem">
- <h6>Documentation</h6>
- <ul>
- <li><a href="#overviews">EMF Overview Papers</a></li>
- <li><a href="#tutorials">EMF Tutorials</a></li>
- <li><a href="#references">Books, Guides, and References</a></li>
- <li><a href="#whatsnew">The Bleeding Edge</a></li>
- <li><a href="#presentations">Presentations & Workshops</a></li>
- </ul>
-</div>
-
-<div class="sideitem">
- <h6>Other Resources</h6>
- <ul>
- <li><a href="#xsd">XML Schema (XSD)</a></li>
- <li><a href="#sdo">Service Data Objects (SDO)</a></li>
- <li><a href="#contributions">Contributed Articles</a></li>
- <li><a href="#emf21xdocs">EMF 2.1</a>, <a href="#emf20xdocs">EMF 2.0</a>, <a href="#emf1xdocs">EMF 1.x</a></li>
- <li><a href="#plandocs">Project Management</a></li>
- <li><a target="_dw" href="http://www-128.ibm.com/developerworks/search/searchResults.jsp?searchType=1&searchSite=dW&searchScope=dW&query=emf">Search developerWorks</a></li>
- </ul>
-</div>
-
- <div class="sideitem">
+<div id="rightcolumn">
+ <div class="sideitem">
<h6>Buy The Book</h6>
<p align="center">
<a href="http://www.informit.com/title/9780321331885"><img src="/modeling/emf/images/book/EMF-2nd-Ed-Cover-Small.jpg"/></a>
</p>
<ul>
- <li><a href="http://www.informit.com/title/9780321331885">View Details & Order</a>
- <li><a href="/modeling/emf/images/book/EMF-2nd-Ed-Covers-Large.jpg">View Front & Back Covers</a>
- <li><a href="http://wiki.eclipse.org/EMF_Book_Errata">View & Add Errata</a>
+
</ul>
</div>
-
-<!-- <div class="sideitem">
- <h6>Eclipse Wiki</h6>
- <ul>
-EOHTML;
-$wikiContents = wikiCategoryToListItems("EMF");
-print $wikiContents;
-print <<<EOHTML
- </ul>
-</div> -->
+ <div class="sideitem">
+ <h6>News on Twitter</h6>
+ <a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+ </div>
+ </div>
+</div>
EOHTML;
-print "</div>\n";
+
$html = ob_get_contents();
ob_end_clean();
diff --git a/emf/gettingstarted.php b/emf/gettingstarted.php
new file mode 100644
index 0000000..7a21345
--- /dev/null
+++ b/emf/gettingstarted.php
@@ -0,0 +1,65 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+if (is_file($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php"))
+{
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
+}
+$App = new App(); $Nav = new Nav(); $Menu = new Menu();
+if (class_exists("ProjectInfo"))
+{
+ $projectInfo = new ProjectInfo("modeling");
+ $projectInfo->generate_common_nav( $Nav );
+}
+include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
+
+ #*****************************************************************************
+ #
+ # index.php
+ #
+ # Author: Richard Gronback (with edits by Nick Boldt)
+ # Date: 2006-05-11
+ #
+ # Description: Modeling project homepage
+ #
+ #
+ #****************************************************************************
+
+ #
+ # Begin: page-specific settings. Change these.
+ $pageTitle = "Eclipse Modeling Project";
+ $pageKeywords = "modeling, UML, UML2, MDD, MDA, model-driven";
+ $pageAuthor = "Richard Gronback";
+
+ # Paste your HTML content between the EOHTML markers!
+ $html = <<<EOHTML
+
+<div id="maincontent">
+ <div id="midcolumn">
+ <h1>Getting started</h1>
+ <h2>1. Download</h2>
+ <p>Download the latest <a href="http://eclipse.org/downloads/packages/eclipse-modeling-tools/lunar"><b>Eclipse Luna Release - Modeling Tools</a></b></p>
+ <h2>2. Learn about it</h2>
+ <p>Follow <b><a href="http://eclipsesource.com/blogs/tutorials/emf-tutorial/">this tutorial</a></b> and learn <b><a href="http://eclipsesource.com/blogs/tutorials/emf-tutorial/">"What every Eclipse developer should know about EMF"</a></b>. Additionally have a look at the <a href="docs/">documentation</a></p>
+ <h2>3. Explore</h2>
+ <p>EMF (core) is a common standard for data models, many technologies and frameworks are based on. This includes <b><a href=../server.php>server solutions</a></b>, <b><a href=../server.php>persistence frameworks</a></b>, <b><a href=../ui.php>UI frameworks</a></b> and <b><a href=../transformation.php>support for transformations</a></b>. Please have a look at the <b><a href="../">modeling project for an overview of EMF technologies</a></b>.</p>
+ </div>
+</div>
+
+<div id="rightcolumn">
+
+ <div class="sideitem">
+ <h6>News on Twitter</h6>
+ <a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+ </div>
+ </div>
+
+
+EOHTML;
+
+
+ # Generate the web page
+ $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/emf/index.php b/emf/index.php
index eca930e..a419494 100644
--- a/emf/index.php
+++ b/emf/index.php
@@ -1,127 +1,145 @@
-<?php
-
-require_once ("../includes/buildServer-common.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon());
-
-/* redirect for emf projects */
-if (isset($_GET["project"]) && isset($emf_home_redirects) && is_array($emf_home_redirects) && array_key_exists($_GET["project"],$emf_home_redirects))
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+if (is_file($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php"))
{
- header("Location: " . $emf_home_redirects[$_GET["project"]]);
- /*header("Location: http://www.eclipse.org/emft/projects/?project=" . $_GET["project"]);*/
- exit;
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
}
-
-include($_SERVER["DOCUMENT_ROOT"] . "/modeling/includes/db.php");
-
-/*if ($isWWWserver && class_exists("Poll"))
+$App = new App(); $Nav = new Nav(); $Menu = new Menu();
+if (class_exists("ProjectInfo"))
{
- # Enable polls on this page: Polls are good for 3 months!
- $App->usePolls();
+ $projectInfo = new ProjectInfo("modeling");
+ $projectInfo->generate_common_nav( $Nav );
+}
+include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
- $Poll = new Poll(1, "What do you think of our new look?");
- $Poll->addOption(1, "Phoen-tast-ix!");
- $Poll->addOption(2, "Easier to use");
- $Poll->addOption(3, "Too purple!");
- $Poll->addOption(4, "Meh.");
- # $Poll->noGraph(); # uncomment to disable bar graph
- $pollHTML = $Poll->getHTML();
-} */
+ #*****************************************************************************
+ #
+ # index.php
+ #
+ # Author: Richard Gronback (with edits by Nick Boldt)
+ # Date: 2006-05-11
+ #
+ # Description: Modeling project homepage
+ #
+ #
+ #****************************************************************************
+
+ #
+ # Begin: page-specific settings. Change these.
+ $pageTitle = "Eclipse Modeling Project";
+ $pageKeywords = "modeling, UML, UML2, MDD, MDA, model-driven";
+ $pageAuthor = "Richard Gronback";
+
+ # Paste your HTML content between the EOHTML markers!
+ $html = <<<EOHTML
-ob_start();
-?>
-
-<div id="midcolumn">
- <h1>Eclipse Modeling Framework Project (EMF)</h1>
+<div id="maincontent">
+ <div id="midcolumn">
+ <h1>Eclipse Modeling Framework (EMF)</h1>
<img style="float:right" src="/modeling/emf/images/emf_logo.png" alt=""/>
- <?php
- include($_SERVER["DOCUMENT_ROOT"] . "/modeling/includes/index-common.php");
- ?>
-</div>
+ <p>
+The EMF project is a modeling framework and code generation facility for building
+tools and other applications based on a structured data model. From a model
+specification described in XMI, EMF provides tools and runtime support to
+produce a set of Java classes for the model, along with a set of adapter
+classes that enable viewing and command-based editing of the model, and
+a basic editor.</p>
+<p>EMF (core) is a common standard for data models, many technologies and frameworks are based on. This includes <b><a href=../server.php>server solutions</a></b>, <b><a href=../server.php>persistence frameworks</a></b>, <b><a href=../ui.php>UI frameworks</a></b> and <b><a href=../transformation.php>support for transformations</a></b>. Please have a look at the <b><a href="../">modeling project for an overview of EMF technologies</a></b>.</p>
-<div id="rightcolumn">
- <div class="sideitem">
- <h6>Buy The Book</h6>
-
- <p align="center">
- <a href="http://www.informit.com/title/9780321331885"><img src="/modeling/emf/images/book/EMF-2nd-Ed-Cover-Small.jpg"/></a>
- </p>
+
+
+
+
+<h3>EMF (Core)</h3>
+<p>EMF consists of three fundamental pieces:</p>
+
+<ul>
+ <li><b>EMF</b> - The core EMF framework includes a <a href="http://download.eclipse.org/modeling/emf/emf/javadoc?org/eclipse/emf/ecore/package-summary.html#details">meta
+ model (Ecore)</a> for describing models and runtime support for the
+ models including change notification, persistence support with
+ default XMI serialization, and a very efficient reflective API for
+ manipulating EMF objects generically.</li>
+
+ <li class="outerli"><b>EMF.Edit -</b> The EMF.Edit framework includes generic
+ reusable classes for building editors for EMF models. It
+ provides
<ul>
- <li><a href="http://www.informit.com/title/9780321331885">View Details & Order</a>
- <li><a href="/modeling/emf/images/book/EMF-2nd-Ed-Covers-Large.jpg">View Front & Back Covers</a>
- <li><a href="http://wiki.eclipse.org/EMF_Book_Errata">View & Add Errata</a>
+ <li>Content and label provider classes, property source support,
+ and other convenience classes that allow EMF models to be displayed
+ using standard desktop (JFace) viewers and property sheets.</li>
+
+ <li>A command framework, including a set of generic command
+ implementation classes for building editors that support fully
+ automatic undo and redo.</li>
</ul>
- </div>
+ </li>
+ <li><b>EMF.Codegen</b> - The EMF code generation facility is
+ capable of generating everything needed to build a complete editor
+ for an EMF model. It includes a GUI from which generation options
+ can be specified, and generators can be invoked. The generation
+ facility leverages the JDT (Java Development Tooling) component of
+ Eclipse.</li>
+</ul>
+<p>Three levels of code generation are supported:</p>
+
+<ul>
+ <li><b>Model</b> - provides Java interfaces and implementation
+ classes for all the classes in the model, plus a factory and
+ package (meta data) implementation class.</li>
+
+ <li><b>Adapters</b> - generates implementation classes (called
+ ItemProviders) that adapt the model classes for editing and
+ display.</li>
+
+ <li><b>Editor</b> - produces a properly structured editor that
+ conforms to the recommended style for Eclipse EMF model editors and
+ serves as a starting point from which to start customizing.</li>
+</ul>
+
+<p>All generators support regeneration of code while preserving user
+modifications. The generators can be invoked either through the GUI
+or headless from a command line.</p>
+
+<p>Want to learn more about how easy it is to use this exciting new
+technology to help you boost your Java programming productivity,
+application compatibility and integration? Start by reading the <a
+href="gettingstarted.html">getting started</a>,
+followed by <a href="docs/">more documentation</a>,
+and then sit back and watch your applications write themselves!
+Well, not completely, but this wouldn't be a sales pitch if there
+weren't a little bit of exaggeration.</p>
+
+</div>
+
+
+ <div id="rightcolumn">
<div class="sideitem">
- <h6>News on Twitter</h6>
+ <h6>Buy The Book</h6>
+
+ <p align="center">
+ <a href="http://www.informit.com/title/9780321331885"><img src="/modeling/emf/images/book/EMF-2nd-Ed-Cover-Small.jpg"/></a>
+ </p>
+ <ul>
+
+ </ul>
+ </div>
+ <div class="sideitem">
+ <h6>News on Twitter</h6>
<a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+ </div>
</div>
-
- <div class="sideitem">
- <h6><a href="/modeling/emf/feeds/"><img style="float:right" alt="Build Feeds" src="/modeling/images/rss-atom10.gif"/></a>
- <?php echo $tmp && array_key_exists($proj,$tmp) && $tmp[$proj] ? $tmp[$proj] . " " : ""; ?>Build News</h6>
- <?php /* suppress SDO events */
- build_news(array_diff($cvsprojs,array("org.eclipse.emf.ecore.sdo")), $cvscoms, $projct); ?>
- <ul>
- <li><a href="/<?php print $PR; ?>/news-whatsnew.php#build">Other build news</a></li>
- </ul>
- </div>
-
-<?php if ($isWWWserver && class_exists("Poll")) { ?>
- <div class="sideitem">
- <h6>Poll</h6>
- <?php echo $pollHTML; ?>
- </div>
-<?php } ?>
-
- <div class="sideitem">
- <h6>Modeling Corner</h6>
- <p>Want to <a href="http://wiki.eclipse.org/index.php/Modeling_Corner">contribute</a> models, projects, files, ideas, utilities, or code to
- <a href="http://www.eclipse.org/modeling/emf/">EMF</a> or any other part of the <a href="http://www.eclipse.org/modeling/">Modeling Project</a>?
- Now you can!</p>
- <p>Have a look, post your comments, submit a link, or just read what others have written. <a href="http://wiki.eclipse.org/index.php/Modeling_Corner">Details here</a>.</p>
- </div>
-
- <a name="related"></a>
- <div class="sideitem">
- <h6>Related links</h6>
- <ul>
- <li><a href="http://www.eclipse.org/modeling">Eclipse Modeling</a></li>
- <li>Web: <a href="http://www.eclipse.org/emft/">EMFT</a>,
- <a href="http://www.eclipse.org/modeling/mdt/">MDT</a>,
- <a href="http://www.eclipse.org/modeling/m2t/">M2T</a></li>
- <li>Wiki: <a href="http://wiki.eclipse.org/index.php/Category:EMFT">EMFT</a>,
- <a href="http://wiki.eclipse.org/index.php/Category:MDT">MDT</a>,
- <a href="http://wiki.eclipse.org/index.php/Category:M2T">M2T</a></li>
- <li><a href="http://www.eclipse.org/modeling/emf/docs/misc/UsingUpdateManager/UsingUpdateManager.html">Using Update Manager</a></li>
- <li><a href="http://www.eclipse.org/newsgroups">Eclipse newsgroups</a></li>
- </ul>
- </div>
-
- <?php
- if ($isEMFserver)
- {
- include_once($_SERVER["DOCUMENT_ROOT"] . "/$PR/build/sideitems-common.php");
- }
- ?>
-
</div>
-<?php
-$html = ob_get_contents();
-ob_end_clean();
-$trans = array_flip($projects);
-$pageTitle = "Eclipse Modeling - EMF - Home";
-$pageKeywords = ""; // TODO: add something here
-$pageAuthor = "Neil Skrypuch";
-$App->AddExtraHtmlHeader("<link rel=\"stylesheet\" type=\"text/css\" href=\"/modeling/includes/index.css\"/>\n");
-if ($projct)
-{
- $App->AddExtraHtmlHeader('<link type="application/rss+xml" rel="alternate" title="EMF '.$trans[$projct].' Build Feed" href="http://www.eclipse.org/modeling/download.php?file=/'.$PR.'/feeds/builds-'.$projct.'.xml"/>' . "\n");
-}
-$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+EOHTML;
+
+
+ # Generate the web page
+ $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>
diff --git a/emf/indexold.php b/emf/indexold.php
new file mode 100644
index 0000000..84f9812
--- /dev/null
+++ b/emf/indexold.php
@@ -0,0 +1,97 @@
+<?php
+
+require_once ("../includes/buildServer-common.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon());
+
+/* redirect for emf projects */
+if (isset($_GET["project"]) && isset($emf_home_redirects) && is_array($emf_home_redirects) && array_key_exists($_GET["project"],$emf_home_redirects))
+{
+ header("Location: " . $emf_home_redirects[$_GET["project"]]);
+ /*header("Location: http://www.eclipse.org/emft/projects/?project=" . $_GET["project"]);*/
+ exit;
+}
+
+include($_SERVER["DOCUMENT_ROOT"] . "/modeling/includes/db.php");
+
+/*if ($isWWWserver && class_exists("Poll"))
+{
+ # Enable polls on this page: Polls are good for 3 months!
+ $App->usePolls();
+
+ $Poll = new Poll(1, "What do you think of our new look?");
+ $Poll->addOption(1, "Phoen-tast-ix!");
+ $Poll->addOption(2, "Easier to use");
+ $Poll->addOption(3, "Too purple!");
+ $Poll->addOption(4, "Meh.");
+ # $Poll->noGraph(); # uncomment to disable bar graph
+ $pollHTML = $Poll->getHTML();
+} */
+
+ob_start();
+?>
+
+<div id="midcolumn">
+ <h1>Eclipse Modeling Framework Project (EMF)</h1>
+ <img style="float:right" src="/modeling/emf/images/emf_logo.png" alt=""/>
+ <?php
+ include($_SERVER["DOCUMENT_ROOT"] . "/modeling/includes/index-common.php");
+ ?>
+</div>
+
+<div id="rightcolumn">
+
+ <div class="sideitem">
+ <h6>Buy The Book</h6>
+
+ <p align="center">
+ <a href="http://www.informit.com/title/9780321331885"><img src="/modeling/emf/images/book/EMF-2nd-Ed-Cover-Small.jpg"/></a>
+ </p>
+ <ul>
+ <li><a href="http://www.informit.com/title/9780321331885">View Details & Order</a>
+ <li><a href="/modeling/emf/images/book/EMF-2nd-Ed-Covers-Large.jpg">View Front & Back Covers</a>
+ <li><a href="http://wiki.eclipse.org/EMF_Book_Errata">View & Add Errata</a>
+ </ul>
+ </div>
+
+
+ <div class="sideitem">
+ <h6>News on Twitter</h6>
+ <a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+ </div>
+
+
+
+<?php if ($isWWWserver && class_exists("Poll")) { ?>
+ <div class="sideitem">
+ <h6>Poll</h6>
+ <?php echo $pollHTML; ?>
+ </div>
+<?php } ?>
+
+
+
+ <?php
+ if ($isEMFserver)
+ {
+ include_once($_SERVER["DOCUMENT_ROOT"] . "/$PR/build/sideitems-common.php");
+ }
+ ?>
+
+</div>
+<?php
+$html = ob_get_contents();
+ob_end_clean();
+
+$trans = array_flip($projects);
+$pageTitle = "Eclipse Modeling - EMF - Home";
+$pageKeywords = ""; // TODO: add something here
+$pageAuthor = "Neil Skrypuch";
+
+$App->AddExtraHtmlHeader("<link rel=\"stylesheet\" type=\"text/css\" href=\"/modeling/includes/index.css\"/>\n");
+if ($projct)
+{
+ $App->AddExtraHtmlHeader('<link type="application/rss+xml" rel="alternate" title="EMF '.$trans[$projct].' Build Feed" href="http://www.eclipse.org/modeling/download.php?file=/'.$PR.'/feeds/builds-'.$projct.'.xml"/>' . "\n");
+}
+$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/graphical.php b/graphical.php
new file mode 100644
index 0000000..b4b3e6e
--- /dev/null
+++ b/graphical.php
@@ -0,0 +1,106 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+if (is_file($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php"))
+{
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
+}
+$App = new App(); $Nav = new Nav(); $Menu = new Menu();
+if (class_exists("ProjectInfo"))
+{
+ $projectInfo = new ProjectInfo("modeling");
+ $projectInfo->generate_common_nav( $Nav );
+}
+include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
+
+ #*****************************************************************************
+ #
+ # index.php
+ #
+ # Author: Richard Gronback (with edits by Nick Boldt)
+ # Date: 2006-05-11
+ #
+ # Description: Modeling project homepage
+ #
+ #
+ #****************************************************************************
+
+ #
+ # Begin: page-specific settings. Change these.
+ $pageTitle = "Graphical Modeling";
+ $pageKeywords = "modeling, UML, UML2, MDD, MDA, model-driven";
+ $pageAuthor = "Richard Gronback";
+
+ # Paste your HTML content between the EOHTML markers!
+ $html = <<<EOHTML
+
+
+<div id="maincontent">
+ <div id="midcolumn">
+ <h1>$pageTitle</h1>
+ <table>
+ <tr>
+ <td><p>The domain model often needs to be visualized in a graphical way, such as in a diagram editor. This is especially true when implementing tools. The following frameworks provide support to implement graphical views for your EMF-based domain model that can be embedded into your tool or application.</p>
+ </td>
+ <td align="right"><img src="http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg">
+ </td>
+ </table>
+ <div class="container-fluid">
+ <div id="content"></div>
+ </div>
+<script type="text/javascript" src="ejs_production.js"></script>
+ <script>
+(function () {
+ // Render the template using the specified data.
+ var html = new EJS({url: "projects.ejs"}).render({projects: [
+ {Title:'GMF Tooling',
+ Description:'GMF Tooling is a Model Driven Architecture approach to domain of graphical editors. By defining a tooling, graphical and mapping model definition, one can generate a fully functional graphical editor in Eclipse.',
+ URL:'http://eclipse.org/gmf-tooling/',
+ Logo:'http://wiki.eclipse.org/images/3/3d/Gmf_logo_banner.png'
+ },
+ {Title:'GMF Runtime',
+ Description:'The GMF Runtime is an industry proven application framework for creating graphical editors using EMF and GEF. The GMF Runtime provides many features that one would have to code by hand if using EMF and GMF directly.',
+ URL:'http://www.eclipse.org/modeling/gmp/',
+ Logo:'http://wiki.eclipse.org/images/3/3d/Gmf_logo_banner.png'
+ },
+ {Title:'GMF Notation',
+ Description:'The GMF Notation Project provides a standard EMF notational meta model.',
+ URL:'http://www.eclipse.org/modeling/gmp/',
+ Logo:'http://wiki.eclipse.org/images/3/3d/Gmf_logo_banner.png'
+ },
+ {Title:'Graphiti',
+ Description:'Eclipse provides a modeling infrastructure evolving around the Eclipse Modeling Framework (EMF) for which offering graphical representations and editing possibilities is essential. Graphiti is an Eclipse-based graphics framework that enables rapid development of state-of-the-art diagram editors for domain models. Graphiti can use EMF-based domain models very easily but can deal with any Java-based objects on the domain side as well.',
+ URL:'http://eclipse.org/graphiti/',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ }
+]});
+ document.getElementById("content").innerHTML = html;
+}());
+</script>
+
+
+
+
+
+
+ </div>
+
+
+ <div id="rightcolumn">
+ <div class="sideitem">
+ <h6>News on Twitter</h6>
+ <a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+ </div>
+ </div>
+</div>
+
+
+
+EOHTML;
+
+
+ # Generate the web page
+ $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/includes/common.css b/includes/common.css
index 511247e..3ec8b6d 100644
--- a/includes/common.css
+++ b/includes/common.css
@@ -12,3 +12,25 @@
list-style-image: url('/eclipse.org-common/themes/Nova/images/separator.png');
padding: 5px 10px 5px 5px;
}
+
+.technologyGroup {
+
+}
+.projectEntry {
+ background-color: #0B0528;
+ color: white;
+ padding: 0.2em;
+ border-radius: 0.2em;
+}
+
+.projectLogo {
+ width: 25%;
+ float: left;
+}
+
+.projectDescription {
+ float: left;
+ width: 73%;
+ padding-left: 0.3em;
+ padding-right: 0.2em;
+}
diff --git a/includes/downloads-common.php b/includes/downloads-common.php
index 210e7e4..594b0b2 100644
--- a/includes/downloads-common.php
+++ b/includes/downloads-common.php
@@ -247,96 +247,29 @@
print "</div>\n";
-print "<div id=\"rightcolumn\">\n";
-$extras = array("doBleedingEdge");
-foreach ($extras as $z)
-{
- if (function_exists($z))
- {
- call_user_func($z);
- }
-}
-print "<div class=\"sideitem\">\n";
-print "<h6>Additional Info</h6>\n";
-print "<ul>\n";
-print "<li><a href=\"http://www.eclipse.org/$PR/faq.php\">FAQs</a></li>\n";
-print "<li><a href=\"#archives\">Archived Releases</a></li>\n";
-print "<li><a href=\"http://www.eclipse.org/modeling/downloads/build-types.php\">About Build Types</a></li>\n";
-print "<li><a href=\"http://www.eclipse.org/modeling/downloads/verifyMD5.php\">Using md5 Files</a></li>\n";
-
-print "<li><a href=\"https://bugs.eclipse.org/bugs/buglist.cgi?" .
- ($parentProj != "NONE" && $parentProj != "" && $parentProj != $projct ? "product=$parentProj&component=$projct" : "product=$projct") .
- "&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED\">Open Bugs</a></li>\n";
-print "<li><a href=\"http://www.eclipse.org/$PR/news/relnotes.php?project=$projct&version=HEAD\">Release Notes</a></li>\n";
-print "</ul>\n";
-print "</div>\n";
-
-print "<div class=\"sideitem\">\n";
-print "<h6>Getting Sources</h6>\n";
-print "<ul>\n";
-print "<li><a href=\"http://wiki.eclipse.org/EMF/Getting_Source\">CVS + Eclipse</a></li>\n";
-print "<li><a href=\"http://wiki.eclipse.org/index.php/CVS_Source_From_Mapfile\">CVS + Map File + Script</a></li>\n";
-print "<li><a href=\"http://www.eclipse.org/$PR/downloads/?project=$projct\">SDK zip</a> or <a href=\"http://www.eclipse.org/$PR/updates/\">Update Manager</a> (org.*.source_x.y.z.*/*src.zip)</li>\n";
-print "</ul>\n";
-print "</div>\n";
-
-if (isset($NLpacks) && is_array($NLpacks))
-{
- print "<div class=\"sideitem\">\n";
- print "<h6>Language Packs</h6>\n";
- print "<ul>\n";
- foreach (array_keys($NLpacks) as $z)
- {
- print "<li><a href=\"#$NLpacks[$z]\">$z</a></li>\n";
- }
- print "</ul>\n";
- print "</div>\n";
-}
-
-print "<div class=\"sideitem\">\n";
-print "<h6>Sort</h6>\n";
-$newsort = ($sortBy == "date" ? "type" : "date");
-print "<ul>\n";
-print "<li><a href=\"?project=$projct&showAll=$showAll&showMax=$showMax&sortBy=$newsort\">By " . ucfirst($newsort) . "</a></li>\n";
-print "</ul>\n";
-print "</div>\n";
-
-$f = $_SERVER["DOCUMENT_ROOT"] . "/$PR/build/sideitems-common.php";
-if (file_exists($f))
-{
- include_once($f);
-}
-
-if (function_exists("sidebar"))
-{
- sidebar();
-}
-
-if (isset($incubating) && in_array($projct, $incubating))
-{
?>
-<div class="sideitem">
- <h6>Incubation</h6>
- <p>This component is currently in its <a href="http://www.eclipse.org/projects/dev_process/validation-phase.php">Validation (Incubation) Phase</a>.</p>
- <div align="center"><a href="http://www.eclipse.org/projects/what-is-incubation.php"><img
- align="center" src="http://www.eclipse.org/images/egg-incubation.png"
- border="0" /></a></div>
- </div>
+<div id="rightcolumn">
+ <div class="sideitem">
+ <h6>News on Twitter</h6>
+ <a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+ </div>
+ </div>
+ </div>
<?php
-}
-if (is_file($_SERVER['DOCUMENT_ROOT'] . "/$PR/eclipse-project-ip-log.php"))
-{
+
+
print<<<EOHTML
<div class="sideitem">
<h6>IP Log</h6>
<p>See committer/contributor <a href="/$PR/eclipse-project-ip-log.php">IP log</a>.</p>
</div>
EOHTML;
-}
+
print "</div>\n";
diff --git a/index.php b/index.php
index 3e2ae32..d40e911 100644
--- a/index.php
+++ b/index.php
@@ -48,101 +48,20 @@
</td>
</table>
<div class="homeitem3col">
- <h3>Abstract Syntax Development</h3>
- <ul>
- <li><a href="http://www.eclipse.org/modeling/emf/">Eclipse Modeling Framework</a> (EMF) : a modeling framework and code generation facility for building tools and other applications based on a structured data model.</li>
+ <h2>Modeling: Faster, Smarter, Better</h2>
+ <p>The bewildering complexity of modern software begs for a fresh approach focusing on high-level design, delegating menial tasks to tools and frameworks. From a concise description of your problem domain, a complete solution can be inferred.</p>
+ <h2>What is Eclipse Modeling?</h2>
+ <p>Eclipse Modeling is an integrated assortment of extensible tools and frameworks for solving everyday problems. At its core lies the Eclipse Modeling Framework, a rich abstraction for describing, composing, and manipulating structured information. Around this core, onion-like technology layers provide powerful facilities to address most everything you need.</p>
+ <h2>Why use Modeling?</h2>
+ <p>
<ul>
- <li><a href="http://www.eclipse.org/modeling/emft/?project=cdo">CDO</a> : a technology for distributed shared EMF models and a fast server-based O/R mapping solution. With CDO you can easily enhance your existing models in such a way that saving a resource transparently commits the applied changes to a relational database.</li>
- <li><a href="http://www.eclipse.org/modeling/emft/?project=net4j">Net4j</a> : an extensible client-server system based on the Eclipse Runtime and the Spring Framework. You can easily extend the protocol stack with Eclipse plugins that provide new transport or application protocols.</li>
- <li><a href="http://www.eclipse.org/modeling/emft/?project=teneo">Teneo</a> : a database persistency solution for EMF using Hibernate or EclipseLink. It supports automatic creation of EMF to Relational Mappings and the related database schemas.</li>
- <li><a href="http://www.eclipse.org/modeling/emf/?project=query">Model Query</a> (MQ) : facilitates the process of search and retrieval of model elements of interest in a flexible yet controlled and structured manner.</li>
- <li><a href="http://www.eclipse.org/modeling/emf/?project=transaction">Model Transaction</a> (MT) : provides a model management layer built on top of EMF for managing EMF resources.</li>
- <li><a href="http://www.eclipse.org/modeling/emf/?project=validation">Validation Framework</a> (VF) : provides model constraint definition, traversal, and evaluation for EMF model validation.</li>
- </ul>
- </ul>
- </div>
- <div class="homeitem3col">
- <h3>Concrete Syntax Development</h3>
- <ul>
- <li><a href="/modeling/gmp">Graphical Modeling Project</a> (GMP) : provides a generative components and runtime infrastructures for developing graphical editors based on <a href="/modeling/emf/" target="_top"><b>EMF</b></a> and <a href="/gef" target="_top"><b>GEF</b></a>.</li>
- <ul>
- <li><a href="/modeling/gmp/gmf-tooling">GMF Tooling</a> : provides a model-driven approach to generating graphical editors in Eclipse..</li>
- <li><a href="/modeling/gmp/gmf-runtime">GMF Runtime</a> : an industry proven application framework for creating graphical editors using EMF and GEF.</li>
- <li><a href="/modeling/gmp/gmf-notation">GMF Notation</a> : provides a standard EMF notational meta model.</li>
- <li><a href="/modeling/gmp/graphiti">Graphiti</a> : Graphiti is an Eclipse-based graphics framework to enable easy development of state-of-the-art diagram editors for domain models.</li>
- </ul>
- <li><a href="/modeling/tmf/">Textual Modeling Framework</a> (TMF) : provides tools and frameworks for developing textual syntaxes and corresponding editors based on <a href="/modeling/emf/" target="_top"><b>EMF</b></a>.</li>
- <ul>
- <li><a href="http://www.eclipse.org/modeling/tmf/?project=xtext">Xtext</a> : a powerful framework/tool for developing external textual DSLs based on <a href="http://www.eclipse.org/modeling/emf/" target="_top"><b>EMF</b></a>.</li>
- <li><a href="http://www.eclipse.org/gmt/tcs/">TCS</a> : a component that enables the specification of textual concrete syntaxes for Domain-Specific Languages (DSLs) by attaching syntactic information to metamodels.</li>
- </ul>
- </ul>
- </div>
- <div class="homeitem3col">
- <h3><a href="http://www.eclipse.org/modeling/mdt/">Model Development Tools</a> (MDT)</h3>
- <ul>
- <li><a href="http://www.eclipse.org/modeling/mdt/?project=bpmn2">Business Process Metamodel and Notation 2.x</a> (BPMN2) :
- an EMF-based implementation of the BPMN 2.x metamodel for the Eclipse platform.</li>
- <li><a href="http://www.eclipse.org/etrice/">eTrice</a> :
- provides an implementation of the ROOM modeling language together with editors, code generator for Java, C++ and C code and exemplary target middleware.</li>
- <li><a href="http://www.eclipse.org/modeling/mdt/?project=modisco">MoDisco</a> :
- provides an extensible framework to develop model-driven tools to support use-cases of existing software modernization.</li>
- <li><a href="http://www.eclipse.org/modeling/mdt/?project=ocl">Object Constraint Language</a> (OCL) :
- defines APIs for OCL expression syntax for implementing queries and constraints.</li>
- <li><a href="http://www.eclipse.org/modeling/mdt/papyrus/">Papyrus</a> :
- provides an integrated and user-consumable environment for editing any kind of EMF model and particularly supporting UML and related modeling languages such as SysML and MARTE.</li>
- <li><a href="http://www.eclipse.org/sphinx/">Sphinx</a> :
- provides an extensible platform that eases the creation of integrated modeling tool environments supporting individual or multiple modeling languages (which can be UML-based or native DSLs) and has a particular focus on industrial strength and interoperability.</li>
- <li><a href="http://www.eclipse.org/modeling/mdt/?project=uml2">Unified Modeling Language 2.x</a> (UML2) :
- an EMF-based implementation of the UML 2.x metamodel for the Eclipse platform.</li>
- <li><a href="http://www.eclipse.org/modeling/mdt/?project=uml2tools">UML2 Tools</a> :
- a set of GMF-based editors for viewing and editing UML models.</li>
- <li><a href="http://www.eclipse.org/modeling/mdt/?project=xsd">XML Schema Definition</a> (XSD) :
- a reference library that provides an <a href="http://www.eclipse.org/modeling/mdt/javadoc/?project=xsd&page=org/eclipse/xsd/package-summary.html&anchor=details">API</a>
- for use with any code that examines, creates or modifies <a href="http://www.w3.org/TR/XMLSchema-0">W3C XML Schema</a>.</li>
- </ul>
- </div>
- <div class="homeitem3col">
- <h3>Model Transformation</h3>
- <ul>
- <li><a href="http://www.eclipse.org/m2m/">Model to Model Transformation</a> (M2M) : will deliver an extensible framework for model-to-model transformation languages, with an exemplary implementation of the <a href="http://www.omg.org/technology/documents/modeling_spec_catalog.htm#MOF_QVT">QVT</a> Core language.</li>
- <ul>
- <li><a href="http://www.eclipse.org/m2m/atl/">Atlas Transformation Language (ATL)</a> : a model transformation language and toolkit.</li>
- </ul>
- <li><a href="http://www.eclipse.org/modeling/m2t/">Model to Text Transformation</a> (M2T) : focuses on technologies for transforming models into text (typically language source code and the resources it consumes)</li>
- <ul>
- <li><a href="http://www.eclipse.org/acceleo">Acceleo</a> : a template based code generation framework with high quality tooling : complete Editor, Debugger and Profiler.</li>
- <li><a href="http://www.eclipse.org/modeling/m2t/?project=jet">Java Emitter Templates</a> (JET) : provides code generation framework & facilities that are used by EMF. Includes an editor which provides features like syntax coloring, error highlighting and code completion.</li>
- <li><a href="http://www.eclipse.org/modeling/m2t/?project=xpand">Xpand</a> : a statically-typed template language featuring polymorphic template invocation, aspect oriented programming, functional extensions, a flexible type system abstraction, model transformation and validation. Includes an editor which provides features like syntax coloring, error highlighting, navigation, refactoring and code completion.</li>
- </ul>
- </ul>
- </div>
- <div class="homeitem3col">
- <h3>Technology and Research</h3>
- <ul>
- <li><a href="http://www.eclipse.org/gmt">Generative Modeling Technologies</a> (GMT) : research-oriented project focused on producing prototypes in the area of Model Driven Engineering (MDE).</li>
- <ul>
- <li><a href="http://www.eclipse.org/gmt/am3/">Atlas MegaModel Management (AM3)</a> : the goal is to provide a practical support for modeling in the large. The objective is to deal with global resource management in a model-engineering environment. We base this activity on the concept of a "megamodel".</li>
- <li><a href="http://www.eclipse.org/gmt/amw/">Atlas Model Weaver (AMW)</a> : a tool for representing correspondences between models. The correspondences are stored in a model, called weaving model. It is created conforming to a weaving metamodel.</li>
- <li><a href="http://www.eclipse.org/gmt/mofscript/">MOFScript</a> : aims at developing tools and frameworks for supporting model to text transformations, e.g., to support generation of implementation code or documentation from models.</li>
- <li><a href="http://www.eclipse.org/gmt">UMLX</a> : concrete graphical syntax to complement the OMG QVT model transformation language.</li>
- <li><a href="http://www.eclipse.org/gmt">VIATRA2</a> : aims to provide a general-purpose support for the entire life-cycle of engineering model transformations including the specification, design, execution, validation and maintenance of transformations within and between various modeling languages and domains.</li>
- <li><a href="http://www.eclipse.org/gmt/epsilon/">Epsilon</a> : a metamodel-agnostic component for supporting model navigation, creation, and modification operations.</li>
- <li><a href="http://www.eclipse.org/gmt/gems">GEMS</a> : aims to bridge the gap between the communities experienced with visual metamodeling tools, such as the Generic Modeling Environment (GME), and those built around the Eclipse modeling technologies, such as the Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF).</li>
- <li><a href="http://www.eclipse.org/gmt/modisco">MoDisco</a> : an Eclipse GMT component for model-driven reverse engineering. The objective is to allow practical extractions of models from legacy systems. As a GMT component, MoDisco will make good use of other GMT components or solutions available in the Eclipse Modeling Project (EMF, M2M, GMF, TMF, etc), and more generally of any plugin available in the Eclipse environment.</li>
- </ul>
- </ul>
- </div>
- <div class="homeitem3col">
- <h3>Amalgam</h3>
- <ul>
- <li><a href="http://www.eclipse.org/modeling/amalgam">Modeling Amalgamation Project</a> (Amalgam) : provides improved packaging, integration, and usability of Modeling project components.</li>
- <ul>
- <li><a href="http://www.eclipse.org/downloads/packages/eclipse-modeling-tools-includes-incubating-components/galileosr1">
- <img alt="All-In-One Bundle including Eclipse and required dependencies" src="/modeling/images/dl-icon-aio-bundle.gif"/>
- <b style="color:green">All-In-One</b> Galileo SR1 Modeling Tools Package</a> : an <a href="http://www.eclipse.org/epp">Eclipse Packaging Project</a> that includes most Modeling SDKs.</li>
- </ul>
- </ul>
+ <li>To produce high-quality results quickly.</li>
+ <li>To reuse tried, tested, and true solutions effectively.</li>
+ <li>To specify complex structured information concisely.</li>
+ <li>To design rich textual and graphical notations easily.</li>
+ <li>To implement powerful runtime solutions efficiently.</li>
+ <li>To exploit industrial standards interoperably.</li>
+
</div>
<hr class="clearer" />
@@ -160,30 +79,13 @@
</ol>
-->
</div>
- <div id="rightcolumn">
- <div class="sideitem">
- <h6>Related links</h6>
- <ul>
- <li><a href="http://wiki.eclipse.org/index.php/Modeling_Project">Modeling Project Wiki</a></li>
- <li><a href="http://wiki.eclipse.org/index.php/Modeling_Corner">Modeling Corner</a></li>
- <li>
- <a href="http://wiki.eclipse.org/Helios">Helios</a>, <a href="http://wiki.eclipse.org/Galileo">Galileo</a>,
- <a href="http://wiki.eclipse.org/Ganymede">Ganymede</a>, <a href="http://wiki.eclipse.org/Europa">Europa</a>, <a href="http://www.eclipse.org/callisto">Callisto</a> -
- see 'Models and Model Development Tools' category.</li>
- <li><a href="http://www.eclipse.org/modeling/project-info/team.php">Who`s Who in Modeling?</a></li>
- </ul>
- </div>
- </div>
+
<div id="rightcolumn">
<div class="sideitem">
- <h6>News</h6>
- <ul>
- <li><a href="http://www.eclipse.org/downloads/packages/eclipse-modeling-tools-includes-incubating-components/galileosr1">
- <img alt="All-In-One Bundle including Eclipse and required dependencies" src="/modeling/images/dl-icon-aio-bundle.gif"/>
- <b style="color:green">All-In-One</b> Galileo SR1 Modeling Tools Package</a> is available</a>.</li>
- <li>Domain Specific Modeling <a href="http://eclipsesummit.org/summiteurope2007/index.php?page=detail/&id=32">demo</a> viewlets from <a href="http://eclipsesummit.org/summiteurope2007/index.php">Eclipse Summit Europe 2007</a> are <a href="http://www.eclipse.org/modeling/presentations/ese2007/index.php">posted</a>.</li>
- </ul>
+ <h6>News on Twitter</h6>
+ <a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>
</div>
</div>
diff --git a/more.php b/more.php
new file mode 100644
index 0000000..1c3ff37
--- /dev/null
+++ b/more.php
@@ -0,0 +1,107 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+if (is_file($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php"))
+{
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
+}
+$App = new App(); $Nav = new Nav(); $Menu = new Menu();
+if (class_exists("ProjectInfo"))
+{
+ $projectInfo = new ProjectInfo("modeling");
+ $projectInfo->generate_common_nav( $Nav );
+}
+include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
+
+ #*****************************************************************************
+ #
+ # index.php
+ #
+ # Author: Richard Gronback (with edits by Nick Boldt)
+ # Date: 2006-05-11
+ #
+ # Description: Modeling project homepage
+ #
+ #
+ #****************************************************************************
+
+ #
+ # Begin: page-specific settings. Change these.
+ $pageTitle = "Addtional Modeling Frameworks";
+ $pageKeywords = "modeling, UML, UML2, MDD, MDA, model-driven";
+ $pageAuthor = "Richard Gronback";
+
+ # Paste your HTML content between the EOHTML markers!
+ $html = <<<EOHTML
+
+
+<div id="maincontent">
+ <div id="midcolumn">
+ <h1>$pageTitle</h1>
+ <table>
+ <tr>
+ <td><p>Some technologies do not fit into a certain category or are a category unto themselves. These technologies provide great features for a variety of use cases, such as comparing model instances, querying models or applying reverse engineering (the extraction of models from code). The following list of technologies is a great proof of the variety and power of the EMF ecosystem. </p>
+ </td>
+ <td align="right"><img src="http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg">
+ </td>
+ </table>
+ <div class="container-fluid">
+ <div id="content"></div>
+ </div>
+<script type="text/javascript" src="ejs_production.js"></script>
+ <script>
+(function () {
+ // Render the template using the specified data.
+ var html = new EJS({url: "projects.ejs"}).render({projects: [
+ {Title:'EMF Compare',
+ Description:'EMF Compare brings model comparison to the EMF framework, this tool provides generic support for any kind of metamodel in order to compare and merge models. The objectives of this component are to provide a stable and efficient generic implementation of model comparison and to provide an extensible framework for specific needs.',
+ URL:'http://www.eclipse.org/emf/compare/#compare',
+ Logo:'http://www.eclipse.org/emf/compare/images/logos/logo.png'
+ },
+
+ {Title:'Dawn',
+ Description:'Dawn is a sub-component of Connected Data Objects project and achieves to create collaborative network solutions for user interfaces basing on CDO. E.g. it provides collaborative access for GMF diagrams. Beside the real time shared editing Dawn provides conflict visualisation and handling and other useful feature for collaborative modeling. In addition to this, Dawn will also provide a Web-Viewer which allows to view every diagram change online.',
+ URL:'http://wiki.eclipse.org/Dawn',
+ Logo:'http://www.eclipse.org/cdo/images/Logo-Dawn.png'
+ },
+ {Title:'Amalgam',
+ Description:'The Amalgamation project provides improved packaging, integration, and usability of Modeling project components. The project is focused on providing a consumable and integrated Eclipse Modeling Tools package and ease the discovery of the modeling technologies through specific code and examples.',
+ URL:'http://www.eclipse.org/modeling/amalgam/',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ },
+ {Title:'Validation Framework',
+ Description:'The validation component provides the following capabilities: Constraint Definition - Provides API for defining constraints for any EMF meta-model (batch and live constraints), Customizable model traversal algorithms - Extensibility API to support meta-models that require custom strategies for model traversal, Constraint parsing for languages - Provides support for parsing the content of constraint elements defined in specific languages. The validation framework provides support for two languages: Java and OCL, Configurable constraint bindings to application contexts - API support to define "client contexts" that describe the objects that need to be validated and to bind them to constraints that need to be enforced on these objects, Validation listeners - Support for listening to validation events.',
+ URL:'http://www.eclipse.org/modeling/emf/downloads/?project=validation',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ }
+]});
+ document.getElementById("content").innerHTML = html;
+}());
+</script>
+
+
+
+
+
+
+ </div>
+
+
+ <div id="rightcolumn">
+ <div class="sideitem">
+ <h6>News on Twitter</h6>
+ <a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+ </div>
+ </div>
+</div>
+
+
+
+EOHTML;
+
+
+ # Generate the web page
+ $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/projects.ejs b/projects.ejs
new file mode 100644
index 0000000..31c6d1e
--- /dev/null
+++ b/projects.ejs
@@ -0,0 +1,12 @@
+
+<% for(var i=0; i< projects.length; i++) {%>
+ <div class="row">
+ <a href="<%= projects[i].URL %>"><h2 class="projectEntry"><%= projects[i].Title %></h2></a>
+ <img class="projectLogo col-xs-3 img-rounded" src="<%= projects[i].Logo %>">
+ <p class="projectDescription col-xs-9">
+ <%= projects[i].Description %>
+ <a href="<%= projects[i].URL %>">Learn more...</a>
+ </p>
+ </div>
+<% } %>
+
diff --git a/server.php b/server.php
new file mode 100644
index 0000000..4d53573
--- /dev/null
+++ b/server.php
@@ -0,0 +1,111 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+if (is_file($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php"))
+{
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
+}
+$App = new App(); $Nav = new Nav(); $Menu = new Menu();
+if (class_exists("ProjectInfo"))
+{
+ $projectInfo = new ProjectInfo("modeling");
+ $projectInfo->generate_common_nav( $Nav );
+}
+include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
+
+ #*****************************************************************************
+ #
+ # index.php
+ #
+ # Author: Richard Gronback (with edits by Nick Boldt)
+ # Date: 2006-05-11
+ #
+ # Description: Modeling project homepage
+ #
+ #
+ #****************************************************************************
+
+ #
+ # Begin: page-specific settings. Change these.
+ $pageTitle = "Server and Storage";
+ $pageKeywords = "modeling, UML, UML2, MDD, MDA, model-driven";
+ $pageAuthor = "Richard Gronback";
+
+ # Paste your HTML content between the EOHTML markers!
+ $html = <<<EOHTML
+
+
+<div id="maincontent">
+ <div id="midcolumn">
+ <h1>$pageTitle</h1>
+ <table>
+ <tr>
+ <td><p><a href="/emf/">EMF (Core)</a> EMF (Core) allows you to generate classes based on a data model, a.k.a. the domain model. In many applications - no matter whether it is a tool or a business application - instances of the domain model need to be stored efficiently and versioned. Moreover, such applications often have to enable multiple users to access and modify domain model instances concurrently and hence require a client-server architecture as well as support for transactions. The following technologies provide the necessary infrastructure to cater for such scenarios in your project.</p>
+ </td>
+ <td align="right"><img src="http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg">
+ </td>
+ </table>
+ <div class="container-fluid">
+ <div id="content"></div>
+ </div>
+<script type="text/javascript" src="ejs_production.js"></script>
+ <script>
+(function () {
+ // Render the template using the specified data.
+ var html = new EJS({url: "projects.ejs"}).render({projects: [
+ {Title:'CDO',
+ Description:'The CDO (Connected Data Objects) Model Repository is a distributed shared model framework for EMF models and meta models. CDO is also a model runtime environment with a focus on orthogonal aspects like model scalability, transactionality, persistence, distribution, queries and more. CDO has a 3-tier architecture supporting EMF-based client applications, featuring a central model repository server and leveraging different types of pluggable data storage back-ends like relational databases, object databases and file systems. The default client/server communication protocol is implemented with the Net4j Signalling Platform.',
+ URL:'http://eclipse.org/cdo',
+ Logo:'https://projects.eclipse.org/sites/default/files/Logo-CDO.png'
+ },
+ {Title:'EMFStore',
+ Description:'EMFStore is a model repository for the Eclipse Modeling Framework (EMF) and features collaborative editing and versioning of models. Existing versioning systems such as git or SVN are focused on textual artifacts and do not work well for models. EMFStore is specifically designed for models and allows semantic versioning of models. As a result, it supports merging and conflict detection more effectively. EMFStore can be used for EMF Model instances and can be integrated into any kind of existing application too.',
+ URL:'http://eclipse.org/emfstore',
+ Logo:'http://projects.eclipse.org/sites/default/files/emfstoreSmall.png'
+ },
+ {Title:'Net4j',
+ Description:'Net4j is an extensible client-server system based on the Eclipse Runtime and the Spring Framework. You can easily extend the protocol stack with Eclipse plugins that provide new transport or application protocols. Net4js focus on performance and scalability is featured by non-blocking I/O, zero-copy signals and multiplexed binary protocols. Net4j was originally developed to support the CDO technology for distributed shared and persistent EMF models but can also multiplex your own user-supplied application protocols through the same socket connection.',
+ URL:'http://wiki.eclipse.org/Net4j',
+ Logo:'http://www.eclipse.org/cdo/images/Logo-Net4j.png'
+ },
+ {Title:'Teneo',
+ Description:'Teneo is a database persistency solution for EMF using Hibernate or EclipseLink. It supports automatic creation of EMF to Relational Mappings. EMF Objects can be stored and retrieved using advanced queries (HQL or EJB-QL).',
+ URL:'http://wiki.eclipse.org/Teneo#teneo',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ },
+ {Title:'Model Transaction',
+ Description:'The transaction component provides a model management layer built on top of EMF for managing EMF resources. It provides API that include extensions to the EditingDomain and related APIs of the EMF.Edit framework, and an internal model of transactions. It consists of two layers: a non-Eclipse core, providing primarily the "transaction model", and an Eclipse workspace integration layer.',
+ URL:'http://eclipse.org/modeling/emf/downloads/?project=transaction',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ }
+]});
+ document.getElementById("content").innerHTML = html;
+}());
+</script>
+
+
+
+
+
+
+ </div>
+
+
+ <div id="rightcolumn">
+ <div class="sideitem">
+ <h6>News on Twitter</h6>
+ <a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+ </div>
+ </div>
+</div>
+
+
+
+EOHTML;
+
+
+ # Generate the web page
+ $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/textual.php b/textual.php
new file mode 100644
index 0000000..4fe7df8
--- /dev/null
+++ b/textual.php
@@ -0,0 +1,91 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+if (is_file($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php"))
+{
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
+}
+$App = new App(); $Nav = new Nav(); $Menu = new Menu();
+if (class_exists("ProjectInfo"))
+{
+ $projectInfo = new ProjectInfo("modeling");
+ $projectInfo->generate_common_nav( $Nav );
+}
+include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
+
+ #*****************************************************************************
+ #
+ # index.php
+ #
+ # Author: Richard Gronback (with edits by Nick Boldt)
+ # Date: 2006-05-11
+ #
+ # Description: Modeling project homepage
+ #
+ #
+ #****************************************************************************
+
+ #
+ # Begin: page-specific settings. Change these.
+ $pageTitle = "Textual Modeling";
+ $pageKeywords = "modeling, UML, UML2, MDD, MDA, model-driven";
+ $pageAuthor = "Richard Gronback";
+
+ # Paste your HTML content between the EOHTML markers!
+ $html = <<<EOHTML
+
+
+<div id="maincontent">
+ <div id="midcolumn">
+ <h1>$pageTitle</h1>
+ <table>
+ <tr>
+ <td><p>When using models in tools, textual notations of modeling languages are often a great fit for describing behavior or algorithms (e.g., expressions). Textual modeling frameworks allow you to easily define domain-specific languages (DSLs) based on given EMF models. They provide support for creating tooling for these DSLs, including editors with syntax highlighting, auto-completion, etc.</p>
+ </td>
+ <td align="right"><img src="http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg">
+ </td>
+ </table>
+ <div class="container-fluid">
+ <div id="content"></div>
+ </div>
+<script type="text/javascript" src="ejs_production.js"></script>
+ <script>
+(function () {
+ // Render the template using the specified data.
+ var html = new EJS({url: "projects.ejs"}).render({projects: [
+ {Title:'Xtext',
+ Description:'Xtext is a framework for development of external textual DSLs. Just describe your very own DSL using Xtexts simple EBNF grammar language and the generator will create a parser, an AST-meta model (implemented in EMF) as well as a full-featured Eclipse Text Editor from that. The Framework integrates with technology from Eclipse Modeling such as EMF, GMF, M2T and parts of EMFT. Development with Xtext is optimized for short turn-arounds, so that adding new features to an existing DSL can be done in seconds. Still with the new version more sophisticated programming languages can be implemented.',
+ URL:'http://eclipse.org/Xtext',
+ Logo:'http://wiki.eclipse.org/images/thumb/d/db/Xtext_logo.png/450px-Xtext_logo.png'
+ }
+]});
+ document.getElementById("content").innerHTML = html;
+}());
+</script>
+
+
+
+
+
+
+ </div>
+
+
+ <div id="rightcolumn">
+ <div class="sideitem">
+ <h6>News on Twitter</h6>
+ <a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+ </div>
+ </div>
+</div>
+
+
+
+EOHTML;
+
+
+ # Generate the web page
+ $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/tools.php b/tools.php
new file mode 100644
index 0000000..72c7ecd
--- /dev/null
+++ b/tools.php
@@ -0,0 +1,132 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+if (is_file($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php"))
+{
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
+}
+$App = new App(); $Nav = new Nav(); $Menu = new Menu();
+if (class_exists("ProjectInfo"))
+{
+ $projectInfo = new ProjectInfo("modeling");
+ $projectInfo->generate_common_nav( $Nav );
+}
+include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
+
+ #*****************************************************************************
+ #
+ # index.php
+ #
+ # Author: Richard Gronback (with edits by Nick Boldt)
+ # Date: 2006-05-11
+ #
+ # Description: Modeling project homepage
+ #
+ #
+ #****************************************************************************
+
+ #
+ # Begin: page-specific settings. Change these.
+ $pageTitle = "Modeling Tools";
+ $pageKeywords = "modeling, UML, UML2, MDD, MDA, model-driven";
+ $pageAuthor = "Richard Gronback";
+
+ # Paste your HTML content between the EOHTML markers!
+ $html = <<<EOHTML
+
+
+<div id="maincontent">
+ <div id="midcolumn">
+ <h1>$pageTitle</h1>
+ <table>
+ <tr>
+ <td><p><a href="/emf/">EMF (Core)</a> and many related frameworks are designed to support the creation of applications and tools based on a given data model. However, there are also ready-to-use tools based on those technologies targeted to end-users rather than to framework users. The following tools cover a variety of use cases, including UML Modeling and languages for embedded development, and support the creation and editing of EMF models.</p>
+ </td>
+ <td align="right"><img src="http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg">
+ </td>
+ </table>
+ <div class="container-fluid">
+ <div id="content"></div>
+ </div>
+<script type="text/javascript" src="ejs_production.js"></script>
+ <script>
+(function () {
+ // Render the template using the specified data.
+ var html = new EJS({url: "projects.ejs"}).render({projects: [
+ {Title:'Business Process Metamodel and Notation',
+ Description:'BPMN2 is an EMF-based implementation of the BPMN 2.x metamodel for the Eclipse platform.',
+ URL:'http://wiki.eclipse.org/MDT-BPMN2',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ },
+ {Title:'eTrice',
+ Description:'eTrice provides an implementation of the ROOM modeling language together with editors, code generator for Java, C++ and C code and exemplary target middleware.',
+ URL:'http://www.eclipse.org/etrice/',
+ Logo:'http://projects.eclipse.org/sites/default/files/eTRICE-logo_200x200.jpg'
+ },
+ {Title:'MoDisco',
+ Description:'provides an extensible framework to develop model-driven tools to support use-cases of existing software modernization.',
+ URL:'http://www.eclipse.org/MoDisco/',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ },
+ {Title:'Object Constraint Language (OCL)',
+ Description:'OCL defines APIs for OCL expression syntax for implementing queries and constraints.',
+ URL:'http://www.eclipse.org/modeling/mdt/?project=ocl',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ },
+ {Title:'Papyrus',
+ Description:'Papyrus provides an integrated and user-consumable environment for editing any kind of EMF model and particularly supporting UML and related modeling languages such as SysML and MARTE.',
+ URL:'http://www.eclipse.org/etrice/',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ },
+ {Title:'Sphinx',
+ Description:'provides an extensible platform that eases the creation of integrated modeling tool environments supporting individual or multiple modeling languages (which can be UML-based or native DSLs) and has a particular focus on industrial strength and interoperability.',
+ URL:'http://www.eclipse.org/sphinx/',
+ Logo:'http://www.eclipse.org/sphinx/images/sphinx_logo_300.png'
+ },
+ {Title:'Unified Modeling Language 2.x',
+ Description:'(UML2) is an EMF-based implementation of the UML 2.x metamodel for the Eclipse platform.',
+ URL:'http://www.eclipse.org/modeling/mdt/?project=uml2',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ },
+ {Title:'UML 2 Tools',
+ Description:'UML 2 Tools is a set of GMF-based editors for viewing and editing UML models.',
+ URL:'http://www.eclipse.org/modeling/mdt/?project=uml2tools',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ },
+ {Title:'XML Schema Definition (XSD)',
+ Description:'(XSD) is a reference library that provides an API for use with any code that examines, creates or modifies W3C XML Schema.',
+ URL:'http://www.eclipse.org/modeling/mdt/?project=xsd',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ }
+
+]});
+ document.getElementById("content").innerHTML = html;
+}());
+</script>
+
+
+
+
+
+
+ </div>
+
+
+ <div id="rightcolumn">
+ <div class="sideitem">
+ <h6>News on Twitter</h6>
+ <a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+ </div>
+ </div>
+</div>
+
+
+
+EOHTML;
+
+
+ # Generate the web page
+ $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/transformation.php b/transformation.php
new file mode 100644
index 0000000..66e39ff
--- /dev/null
+++ b/transformation.php
@@ -0,0 +1,106 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+if (is_file($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php"))
+{
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
+}
+$App = new App(); $Nav = new Nav(); $Menu = new Menu();
+if (class_exists("ProjectInfo"))
+{
+ $projectInfo = new ProjectInfo("modeling");
+ $projectInfo->generate_common_nav( $Nav );
+}
+include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
+
+ #*****************************************************************************
+ #
+ # index.php
+ #
+ # Author: Richard Gronback (with edits by Nick Boldt)
+ # Date: 2006-05-11
+ #
+ # Description: Modeling project homepage
+ #
+ #
+ #****************************************************************************
+
+ #
+ # Begin: page-specific settings. Change these.
+ $pageTitle = "Model Transformation";
+ $pageKeywords = "modeling, UML, UML2, MDD, MDA, model-driven";
+ $pageAuthor = "Richard Gronback";
+
+ # Paste your HTML content between the EOHTML markers!
+ $html = <<<EOHTML
+
+
+<div id="maincontent">
+ <div id="midcolumn">
+ <h1>$pageTitle</h1>
+ <table>
+ <tr>
+ <td><p>In several scenarios, instances of domain models in EMF need to be transformed into other models or into a textual representation. Therefore, there are dedicated frameworks and tools that allow you to develop <b>model-to-model transformations</b> on the one hand and, on the other hand, <b>model-to-text transformations</b>. With <b>model-to-model transformation</b< data/model instances, conforming to one EMF Model can be transformed to data/model instances conforming to another EMF Model. This is useful for data import/export and data exchange or for deriving data from existing data for use in a different context. The following list contains several frameworks supporting this use case for EMF. With <b>model-to-text transformations</b>, models can be transformed into a textual representation, e.g., source code of a specific language. In EMF, a number of frameworks is available to support this use case</p>
+ </td>
+ <td align="right"><img src="http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg">
+ </td>
+ </table>
+ <div class="container-fluid">
+ <div id="content"></div>
+ </div>
+<script type="text/javascript" src="ejs_production.js"></script>
+ <script>
+(function () {
+ // Render the template using the specified data.
+ var html = new EJS({url: "projects.ejs"}).render({projects: [
+ {Title:'Acceleo',
+ Description:'Acceleo is a pragmatic implementation of the Object Management Group (OMG) MOF Model to Text Language (MTL) standard. You do not need to be an expert to start using the plug-ins and create your first code generator : using the provided example projects and the powerful completion feature of the Acceleo editor, it is very easy to get started and understand the basic principles.',
+ URL:'http://www.eclipse.org/acceleo/',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ },
+ {Title:'ATL',
+ Description:'ATL (ATL Transformation Language) is a model transformation language and toolkit. In the field of Model-Driven Engineering (MDE), ATL provides ways to produce a set of target models from a set of source models.',
+ URL:'http://eclipse.org/atl/',
+ Logo:'http://projects.eclipse.org/sites/default/files/logoATL-transparent.png'
+ },
+ {Title:'JET',
+ Description:'JET is typically used in the implementation of a "code generator". A code-generator is an important component of Model Driven Development (MDD). The goal of MDD is to describe a software system using abstract models (such as EMF/ECORE models or UML models), and then refine and transform these models into code. Although is possible to create abstract models, and manually transform them into code, the real power of MDD comes from automating this process. Such transformations accelerate the MDD process, and result in better code quality. The transformations can capture the "best practices" of experts, and can ensure that a project consistently employes these practices.',
+ URL:'http://www.eclipse.org/modeling/m2t/?project=jet',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ },
+ {Title:'Xpand',
+ Description:'Xpand is a statically-typed template language featuring: polymorphic template invocation, aspect oriented programming, functional extensions, a flexible type system abstraction, model transformation, model validation and much more',
+ URL:'http://wiki.eclipse.org/Xpand',
+ Logo:'http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg'
+ }
+]});
+ document.getElementById("content").innerHTML = html;
+}());
+</script>
+
+
+
+
+
+
+ </div>
+
+
+ <div id="rightcolumn">
+ <div class="sideitem">
+ <h6>News on Twitter</h6>
+ <a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+ </div>
+ </div>
+</div>
+
+
+
+EOHTML;
+
+
+ # Generate the web page
+ $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/ui.php b/ui.php
new file mode 100644
index 0000000..537b0f4
--- /dev/null
+++ b/ui.php
@@ -0,0 +1,101 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+if (is_file($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php"))
+{
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
+}
+$App = new App(); $Nav = new Nav(); $Menu = new Menu();
+if (class_exists("ProjectInfo"))
+{
+ $projectInfo = new ProjectInfo("modeling");
+ $projectInfo->generate_common_nav( $Nav );
+}
+include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
+
+ #*****************************************************************************
+ #
+ # index.php
+ #
+ # Author: Richard Gronback (with edits by Nick Boldt)
+ # Date: 2006-05-11
+ #
+ # Description: Modeling project homepage
+ #
+ #
+ #****************************************************************************
+
+ #
+ # Begin: page-specific settings. Change these.
+ $pageTitle = "User Interface";
+ $pageKeywords = "emf, UI, forms, modeling, UML, UML2, MDD, MDA, model-driven";
+ $pageAuthor = "Richard Gronback";
+
+ # Paste your HTML content between the EOHTML markers!
+ $html = <<<EOHTML
+
+
+<div id="maincontent">
+ <div id="midcolumn">
+ <h1>$pageTitle</h1>
+ <table>
+ <tr>
+ <td><p>In an application, no matter whether it is a tool or a business application, end-users need to be enabled to conveniently display and modify instances of the domain model. Typical representations of the data are forms or property sheets. The following technologies provide support to efficiently implement user interfaces for EMF domain models in your project. If you prefer a graphical visualization, please take a look at the graphical modeling frameworks.</p>
+ </td>
+ <td align="right"><img src="http://www.eclipse.org/modeling/images/modeling_pos_logo_fc_med.jpg">
+ </td>
+ </table>
+ <div class="container-fluid">
+ <div id="content"></div>
+ </div>
+<script type="text/javascript" src="ejs_production.js"></script>
+ <script>
+(function () {
+ // Render the template using the specified data.
+ var html = new EJS({url: "projects.ejs"}).render({projects: [
+ {Title:'EMF Client Platform',
+ Description:'The EMF Client Platform is a framework for building EMF-based client applications. The goal is to provide reusable, adaptable and extensible UI components to develop applications based on a given EMF model. All components can be used stand-alone and be embedded into your own application. To get started, ECP provides a demo application, which integrates all provided components. This demo application allows you to get started by only providing your EMF model. ',
+ URL:'http://eclipse.org/ecp',
+ Logo:'http://eclipse.org/ecp/public/images/ecp.png'
+ },
+ {Title:'EMF Forms',
+ Description:'EMF Forms provides a new way of developing form-based UIs. Instead of manually coding form-based layouts, it allows you to describe the UI with a simple model instead of with code. The approach allows you to more efficiently produce and iteratively refine form-based UIs that conform to a uniform look and feel. EMF Forms also lowers the technical entry barrier to creating form-based UIs. The UI description is interpreted by a rendering engine and allows you to switch between the UI technology stack to Swing, SWT, JavaFX or Web just by replacing the renderer. EMF Forms is a new subcomponent of the EMF Client Platform.',
+ URL:'http://eclipse.org/ecp/emfforms',
+ Logo:'http://eclipse.org/ecp/emfforms/public/images/logo.png'
+ },
+ {Title:'Extended Editing Framework',
+ Description:'The Extended Editing Framework is a presentation framework for the Eclipse Modeling Framework. It allows user to create rich user interfaces to edit EMF models. ',
+ URL:'http://eclipse.org/eef/',
+ Logo:'http://projects.eclipse.org/sites/default/files/eefv2-resized.png'
+ }
+]});
+ document.getElementById("content").innerHTML = html;
+}());
+</script>
+
+
+
+
+
+
+ </div>
+
+
+ <div id="rightcolumn">
+ <div class="sideitem">
+ <h6>News on Twitter</h6>
+ <a class="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+ </div>
+ </div>
+</div>
+
+
+
+EOHTML;
+
+
+ # Generate the web page
+ $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>