Talk:Web template system
Relationships and dependencies with another articles
Web template system is not a isolated article, it is very correlated and "depends on" another articles:
- Template system article is a "hub article" for many kinds of template systems.
- Web template system article is a "umbrella article" (and related as "Web specialized template system").
- Web template is a important complementar article (part of the system).
- Template engine is a important complementar article (part of the system).
- Web template hook styles is a supplement (separeted for avoid pollution and to fix on more specialized public), it is a commom supplement for all Template systems.
- Web template system (formalism) is a supplement (separeted for avoid pollution and show technicall details).
- Web template system article is a "umbrella article" (and related as "Web specialized template system").
- Other very correlated articles: preprocessor (referential to not-web template engines), XSLT (main article about XML specific templates), Template (word processing) and Style sheet as referential to template original concepts (from Desktop publishing).
To Do List
Review tables on out-side server systems
Template systems. like on Dreamweaver, must be alanysed first.
Add itens on Server-side systems table
Add other web template systems (described on wikipedia). Candidates to web template systems:
Candidate | Is/Not | status | Conclusions and notes |
---|---|---|---|
CakePHP | ? | need to check | |
Catalyst | ? | need to check | |
Fusebox | ? | need to check | |
JavaServer Faces | NOT | reviewed | Apache Struts and Webwork2 are currently the most popular web oriented MVC implementations. |
Mach-II | ? | need to check | |
Maypole | ? | need to check | |
Model-Glue | ? | need to check | for ColdFusion Link |
OpenXava | NOT | reviewed | have integration of reports made with JasperReports (that use Jakarta Velocity and VTL - Velocity Template Language) |
Radicore | ? | need to check | For either PHP 4 or 5 |
Ruby on Rails | ? | need to check | Is a "general template language" like PHP? |
Symfony | ? | need to check | |
Tapestry | ? | need to check | |
TurboGears | ? | need to check | for python, with AJAX. |
XML Sapiens | ? | need to check |
Expand stubs
- Changed massive to 'mass-production', if that causes problems I can change it back, but may be more clear with latter usage. dr.ef.tymac 03:39, 27 November 2006 (UTC)
Take care with title names in use
Other articles link to these section titles:
- Web template system#Separation of concerns
- Web template system#Formal characterization
- Web template system#Outside server systems
- Web template system#Server-side systems
- Web template system#Distributed systems
Disputes and/or Consensus
Terminology
- The term "system" on "web template system" was used as set of related (but able to independent) parts... and to designate a "Whole bigger than the sum of the parts"... Without a template language, we cannot use a template engine, without standards, the user community cannot use the language. -- User:Krauss 23 Nov 2006.
- "Design principles" (section name) is about "design pattern principles", that is a "Reference model"... (we may be change the sec. name to Reference model) The section may be merged with Web_template_system#Separation_of_concerns sec. -- User:Krauss 23 Nov 2006.
without standards, the user community cannot use the language.
- Please provide a cite or I will continue to presume that is totally incorrect. (Any language can be used, and misused in a manner inconsistent with MVC. MVC is a form of Best practice, and anyone with web development experience knows that best practices are not always followed. This is one of the many apparent errors in the article that seem to have been overlooked for quite some time.) dr.ef.tymac 16:45, 23 November 2006 (UTC)
- Yes, you, as programmer, using only now "any language", is correct about "use any language"... but ALL stable languages (for programmers and disgners communities) are from (private or not) standards — Microsoft, W3C, Macromedia, My firm, Your firm, all may be "standard organism", to maintaining the template language specifications... the scale (of time and volume of potential users) of stability is proportional to the "standard agency/community". -- Krauss 18:00, 23 November 2006 (UTC)
- Please see e.g., http://wardley.org/computers/web/mvc.html
- Please provide a cite or I will continue to presume that is totally incorrect. (Any language can be used, and misused in a manner inconsistent with MVC. MVC is a form of Best practice, and anyone with web development experience knows that best practices are not always followed. This is one of the many apparent errors in the article that seem to have been overlooked for quite some time.) dr.ef.tymac 16:45, 23 November 2006 (UTC)
- DONE: merge design pattern with reference model. dr.ef.tymac 17:15, 23 November 2006 (UTC)
- Changing the title name, using your "principles" sugestion.
- DONE: merge design pattern with reference model. dr.ef.tymac 17:15, 23 November 2006 (UTC)
Terms with optional ortography
- "Templating system" or "template system". By tradition of use, option is "template system".
- Parametrized or Parameterized? for "Parametr. reference" and "Parametr. declaration". Used "parametErized" like on Parameterized macro.
Jargon options (synonymous and similar concepts)
Used "controled" terms:
- Content and Content resource (see URI for resource)
NOT used terms:
- Not use the term data model to substitute the terms Content and Content resource:
- It is Web, and W3C and others prefer to use the term Content, about "content on documents" (not "data on documents"... it is Content-centric).
- A data model need Structure. Integrity, Manipulation, Querying... is more simple say that a set of variables are Content than Data model.
- This article was here since October 2005 with the term Content: it is stable and many other linkted articles use the term.
- Is better say "input data" (for process) than say "input model" (it is like to say "input model information")... Example: a "vCard DTD" have the data model information, a "vCard data" have the specific vCard information.
- Agree on use of "content", however prohibiting use of "data model" is a problem because the "M" in MVC stands for "Model". We need to work together to determine a way to allow mutual use of these terms, they are both fundamental. dr.ef.tymac 16:49, 27 November 2006 (UTC)
Basic structure and concepts
We must take care with changes on:
- basic concepts: it unstabilize the "conceptual structure" of the article.
- basic terminology: it was stable, links and terminological consistence depends on it.
- figures: that is used to represent basic concepts!
-- Krauss 23 November 2006
- Agreed, I identified some elements of the stable terminology that had some minor mistakes, overlap of pre-existing material, or potential confusion, asked Krauss basic questions and he provided enough detail for me to fix a lot of that up. I updated some figures for apperance, and enhancement of didactic content. Krauss and Dreftymac will continue to work on these to improve consistency as well. We have worked together on some elements of the new figure style. Additional standardizations and refinements for these are expected in the immediate future. (see e.g., User_talk:Dreftymac/WebTemplateDiscussion#Images)dr.ef.tymac 16:43, 27 November 2006 (UTC)
Big Review/Revert/Adapt = please comment
- Remove, on Intro, "A web template system is a specific kind of template processor ...". If the template system IS a template processor, we NOT NEED THIS ARTICLE. See Talk about use of the SYSTEM term. -- Krauss 24 November 2006
- Remove, on Overview, "One or more web templates on input". The formal definition is about 1 template... if we need more, we process more... 1 per web document (URL). -- Krauss 24 November 2006
- Reverted picture: the new was only a copy (spam?) from Template processor, not adapted to: 1) The basic concepts fixed here; 2) Another illustrations (see architectures), they are compatible. 3) The picture have 2 outputs to show what it does, for didactic -- Krauss 24 November 2006
- Review concepts on introduction/overview: I think now is better (merged with another edits) and clean -- Krauss 24 November 2006
- AwardingEmeraldsToward: Updated picture, for 1) and 3) above (very good ideas); 2) still left but IMHO doesn't harm article quality.dr.ef.tymac 19:37, 24 November 2006 (UTC)
Another big review coming up
Here are some points before the next "big review." I am preparing to make some more additions and re-structure, so here are some discussion points first. I do not want to get too bogged down in discussion, so that it evaporates editing time, so you can just focus on the basic questions below.
Clarify specification of "hook" terminology
Rationale: I have not found any references that use the term "hook" in the same sense, but there do seem to be other (potentially confusing) different uses of the term:
- a way to interface with version control ;; http://svn.haxx.se/users/archive-2005-03/0956.shtml
- a way to specify namespaces ;; http://api.drupal.org/api/HEAD/group/hooks
- a method of using CSS class names to organize content ;; http://meta.wikimedia.org/wiki/Layout_architecture_of_MediaWiki_pages
-- ?
- The term "hook" is about the red marks on Web_template#Hook_compatibility_strategies illustration... if it is not the "correct term", we need change ONLY if somebody show another "authoritative" term. I think (and generically refer) as "notation"... a specific syntax or notation for "to separate languages" (template language and output language). Sorry I don't remember WHERE I see the use of the term, but I see because changed from "separation mark". -- Krauss 27 November
- The parr article you cite identifies this as "lexical delimiters" (see sec. 5 paragraph 8). Unless you disagree with this, I will make the appropriate changes to the terminology so it is more consistent with the article. dr.ef.tymac 05:18, 27 November 2006 (UTC)
- Stabilized terminology on "hook" with link references to (synonym) terminology, 'hook' provides enough uniqueness for this article, and links provide authoritative consistency with parr article and other WP links. dr.ef.tymac 19:39, 27 November 2006 (UTC)
- The parr article you cite identifies this as "lexical delimiters" (see sec. 5 paragraph 8). Unless you disagree with this, I will make the appropriate changes to the terminology so it is more consistent with the article. dr.ef.tymac 05:18, 27 November 2006 (UTC)
Language hierarchy and template language treatment
I have concerns about application of the Chomsky hierarchy whether it is entirely correct. I have no plans to change the 'formalism' page, but you apply the hierarchy all throughout the article and in places where it simply does not seem to fit. I address this in the "basic questions". -- ??
- Please, take a overview on the unique and fundamental citation: Parr article (see "Template Definition" section). -- Krauss 27 November 2006
- I read the parr article quite a while ago and reviewed it recently. If you can address the basic questions (at least ignore the one on the Chomsky hierarchy and address your definition of what "is" and "is not" template, which does not seem to be in the article) this will help me to focus on which content needs to go where when i make additions. Thanks! dr.ef.tymac 05:22, 27 November 2006 (UTC)
Basic questions
Here are some basic questions:
- Web_template_system#Formal characterization how was this definition derived, where does it come from?
- Web_template_system#Formal characterization says print() is not a "hook" so perl script is not a template, are you saying that scripts with instructions in them are never templates?
- In the same section you say that "source code" is not a template, and that "the process can not be arbritrary" are you saying here that "source code and programming language scripts can never be considered a 'template'"
- In the same section you define "what is a web template?" and yet none of the elements of the definition talk about the web. Does this mean that an XSLT script used to generate non-web output (like a desktop address book or 'TODO list' for example) is still a 'web template'?
- where does your definition for "hook" come from?
- In Programming language, you said "It is a usual approach to embed a programming language into the non-computational (host) language, to express templates for the host language" does this mean that (for example) perl embedded in HTML meets your definition of "template"?
- In applying the Chomsky hierarchy you say "Template languages can be grouped in a hierarchy" do you have an example of each specific language (by name) that fits in each specific level of the hierarchy?
- How do you draw the distinction for "embedding"? In other words, what is the formal difference between Perl code "embedded" in HTML, and HTML "embedded" in Perl? Is there a definition that can be neutrally applied? or is it a matter of "guessing"?
I have definitions for these terms that may or may not match yours. Thats why I ask these basic questions. Hopefully you can clarify so I can move forward without any "big surprises" ... if not, we may have to figure out how to structure the article so that the alternate viewpoints all get appropriate treatment. Thanks! dr.ef.tymac 22:12, 26 November 2006 (UTC)
- I think the text on Web template system (formalism) was for avoid this kind of questions... but you are the first, and the article may need "good english improves"... SUGESTION:
- Please, take a overview on the unique and fundamental citation: Parr article (see "Template Definition" section).
- Transfer (cut/paste) this discussion to there for improve the formalism article.
- -- Krauss 27 November 2006
- Yes, I already read the article you cited, and I asked questions for you that are not answered in the article. How do you draw the distinction for "embedding"? For example, what is the difference between Perl code "embedded" in HTML, and HTML "embedded" in Perl? Since you define template *outside* the formalism article, I think that needs refinement to know whether the content meets the definition for "web template" "template" and "not a template". Otherwise, I can just put alternate (authoritative) definitions in the main article and add cites if you do not want to answer. Thanks! dr.ef.tymac 05:10, 27 November 2006 (UTC)
- There are many questions to organize, need time... you put the relevant ones, let begin with them,
- Question: What the difference between the templates T1=
print "<html>Hello $x</html>";
and T2=<html>Hello $x</html>
? Answer: is not exactly the syntax, the use of a command likeprint
, but the behavior on the dataflow model with the whole scripts. IF the content C is empty ($x="";
),R1=Pperl(T1,Ø)
andR2=Pphp(T2,Ø)
, THENR2=T2
butR1≠T1
! (the rule is to "ignore hooks" and$x
can be removed from both templates) the Perl script can not used as a document, only the PHP script, and, with Ø it satisfy the property #2. - Question: Where the "Web" on the web template forma characterization? Answer: I changed the text to use it also with "template system" (not web). One relevant difference is pointed on the new text, when define "Process output"... say "On web template systems, R is a web document. On (generic) template systems, R is any kind of document.". The other relevant difference (I think) not there, is methodological: on Web applications we enforce the use of the Separation Principles, mainlly web design from logic, or, better (see "The Cocoon Pyramid Model of Contracts") programmer's from web designer's concern areas.
- Question: "Do you have an example of each specific language (by name) that fits in each specific level of the hierarchy?" Answer: Yes and perhaps... the focus (now showed on text) is the language features, for them the answer is YES (and examples are there). In principle if a language have minimal features from one group, it is that type (or superior), and it is ease for very simple and/or Turing complete languages... But not all the languages will fit exactly a group, the language features will be disperse over groups... I think the relevant is first is to group/organize/sistematize ALL features, then, on second (future) moment, analyse if it is good ideia use only these groups or create other labels about other usual groups of features.
- ... yes, perhaps will need a FAQ on the article's Talk
- Question: What the difference between the templates T1=
- -- Krauss 27 November 2006
- Ok, I see where one area of potential confusion is. Just to clarify, is there in your view, any difference between the terms "template language" and "template programming language"? dr.ef.tymac 06:21, 27 November 2006 (UTC)
Fixed bug on this discussion page
NOTE: One of the topic headers was specified as "level one", which meant all new discussions started with the "alt plus" sequence were being included as children of that node (even if that was not the intent of the editor). Fixed it by changing it to "level two" dr.ef.tymac 22:32, 26 November 2006 (UTC)
2006-11-27 ;; Points of consensus, agreement, stability
These seem to be agreed by all contributing to these articles:
- the parr citation is an authoritative ref and good support for article content;
- the terminology and formal treatment sections are still big TODO;
- Dreftymac created break-out page on terminology;
- stable convention for 'sample template' is the "hello $x" example;
- proposed: stabilize on $x values of (world, earth, ... ,aries, virgo) [or something else?] to an enumerated list of 99 items for the 'content resource';
- proposed: use the hello $x example for cross-language comparisons and basic definitions, other examples (where applicable);
other agreed upon elements? dr.ef.tymac 19:46, 27 November 2006 (UTC)