Anyone wanting to modify the pligg will require some knowledge in programming the web. Hopefully the following links will provide you with tutorials and documentation to help with your journey (please edit with better intro)
Lets go through the various parts of the pligg and see what is use where.
Core code: Pligg uses PHP for server side scripting
Template: The templates are a mixture of HTML and CSS. The templating engine used by pligg is called template-lite and is a lite version of the popular smarty engine
Flashy cool stuff: All the cools slidey things and effects is done with javascript.
The links is not the definitive guide to creating and modifying pligg but it will teach you the general programming skill required to modify pligg. and if you have any problems the forum is full of bright and helpful people so don't be afraid to ask. (just don't email kb :) )
PHP is a
reflective programming language originally designed for producing
dynamic web pages.
[1] PHP is used mainly in
server-side scripting, but can be used from a
command line interface or in standalone
graphical applications.
Textual User Interfaces can also be created using
ncurses. PHP is a
recursive acronym for "PHP: Hypertext Preprocessor".
The main implementation is produced by The PHP Group and released under the
PHP License. It is considered to be
free software by the
Free Software Foundation[2]. This implementation serves to define a
de facto standard for PHP, as there is no
formal specification.
Currently, two major versions of PHP are being actively developed: 5.x and 4.4.x; on
July 13,
2007, the PHP group announced that active development on PHP4 will cease by
December 31,
2007, however, critical security updates will be provided until
August 8,
2008.
[3] MySQL (pronounced (IPA) /mɑɪ ɛs kjuː ɛl/, "my S-Q-L") is a
multithreaded,
multi-user SQL database management system (DBMS)
[1] which has, according to
MySQL AB, more than 10 million installations.
[2]
MySQL is owned and sponsored by a single for-profit firm, the
Swedish company
MySQL AB, which holds the copyright to most of the codebase. This is similar to the
JBoss model and how the
Free Software Foundation handles copyright in its projects. It is dissimilar to the
Apache project, where the software is developed by a public community and the copyright to the codebase is owned by its individual authors.
The company develops and
maintains the system, selling support and
service contracts, as well as
proprietary-licensed copies of MySQL, and employing people all over the world who collaborate via the
Internet. MySQL AB was founded by
David Axmark,
Allan Larsson, and
Michael "Monty" Widenius. The
CEO is
Mårten Mickos.
The MySQL company also sells another DBMS,
MaxDB, which is from an unrelated codebase.
HTML
HTML, short for
Hypertext Markup Language, is the predominant
markup language for
web pages. It provides a means to describe the structure of text-based information in a document — by denoting certain text as headings, paragraphs, lists, and so on — and to supplement that text with
interactive forms, embedded
images, and other objects. HTML is written in the form of labels (known as tags), surrounded by less-than (<) and greater-than signs (>). HTML can also describe, to some degree, the appearance and
semantics of a document, and can include embedded
scripting language code which can affect the behavior of
web browsers and other HTML processors.
HTML is also often used to refer to content of the
MIME type text/html or even more broadly as a generic term for HTML whether in its
XML-descended form (such as
XHTML 1.0 and later) or its form descended directly from
SGML (such as HTML 4.01 and earlier).
CSS
In
web development,
Cascading Style Sheets (
CSS) is a
stylesheet language used to describe the presentation of a document written in a
markup language. Its most common application is to style
web pages written in
HTML and
XHTML, but the language can be applied to any kind of
XML document, including
SVG and
XUL.
CSS is used by both the authors and readers of web pages to define
colors,
fonts,
layout, and other aspects of document presentation. It is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation (written in CSS). This separation can improve content
accessibility, provide more flexibility and control in the specification of presentational characteristics, and reduce complexity and repetition in the structural content. CSS can also allow the same markup page to be presented in different styles for different rendering methods, such as on-screen, in print, by voice (when read out by a speech-based browser or
screen reader) and on
Braille-based,
tactile devices. CSS specifies a priority scheme to determine which style rules apply if more than one rule matches against a particular element. In this so-called
cascade, priorities or
weights are calculated and assigned to rules, so that the results are predictable.
The CSS specifications are maintained by the
World Wide Web Consortium (W3C). Internet media type (
MIME type)
text/css is registered for use with CSS by
RFC 2318 (March 1998).
Javascript
JavaScript is a
scripting language most often used for
client-side web development. Its standardized name is
ECMAScript, though "JavaScript" is much more commonly used. "JavaScript" is actually
Netscape Communications Corporation's (and now the
Mozilla Foundation's) implementation of the
ECMAScript standard.
JavaScript is a
dynamic,
weakly typed,
prototype-based language with
first-class functions. JavaScript was influenced by many languages and was designed to have a similar look to Java, but be easier for non-programmers to work with.
[1] The language is best known for its use in websites (as client-side JavaScript), but is also used to enable scripting access to objects embedded in other applications.
Despite the name, JavaScript is unrelated to the
Java programming language; though both have a common debt to
C syntax. The language was renamed from LiveScript in a co-marketing deal between Netscape and Sun in exchange for Netscape bundling Sun's Java runtime with their browser, which was dominant at the time. JavaScript semantics is much more similar to the
Self programming language.
"JavaScript" is a
registered trademark of
Sun Microsystems, Inc. It was used under license for technology invented and implemented by Netscape Communications and current entities such as the
Mozilla Foundation.
[2] Template Lite
Template Lite has many advantages over other template engines, as well as a few disadvantages.
- Template Lite is a stripped down version of Smarty and thus is extremely fast, yet very similar to Smarty.
- Template Lite uses most of the same basic syntax as Smarty template engine, making it relatively easy to port template files from Smarty and for previous users of Smarty to quickly learn how to use it.
- Template Lite variable syntax, specifically variables in double quotes and concatentation, is designed to imitate PHP's, making variable usage intuitive for beginners who are used to programming in PHP.
- Template Lite introduces the new
switch and for tags, which have identical functionality to PHP's switch and for functions, respectively. - Template Lite compiles all template files for speed, making script start-up faster. All compiled files are saved for faster loading on the next load.
- Template Lite will also optionally save a cached version of templates, thus bypassing any compiling or execution, as it will load static pages precompiled and assembled, offering significant speed increases.
- Template Lite supports config files and variables and will compile config files for speed, too!
Template Lite was designed from the ground up to be fast. It has acheived that goal.
What you see here is the work of
Paul Lockaby. However, while more than 75% of the code in this template engine has been rewritten, a bunch of that other 25% and a lot of organization has been directly derived from
Smarty - the compiling PHP template engine for PHP. Smarty template engine was originally programmed and is still maintained at the aforementioned website by Monte Ohrt and Andrei Zmievski.
All updates, fixes and changes beginning February 1, 2006 are by Mark Dickenson when the project was taken over after being abandoned by Paul Lockaby due to a trademarking issue with the creators of Smarty.