# Help on editing

This pages explains how to create and edit pages at Ultrastudio.org . Not just every user can edit, unregistered visitors can also do this. However there are powerful means to revert unconstructive edits.

## Edit session

1. Click on the Edit tab above to start editing the page. Absolute majority of all pages are editable.
2. You will see the big text field, with the article content in Wiki language. Make your changes and additions there.
3. To add the text, simply type it in place where you want it to be. Do not care much about the Wiki language if you do not know it. If the text itself is valuable, Ultrastudio.org team or even other contributors will fix the language mistakes.
4. Click on Preview button below to see how the page would look like.
5. After you have done, click on the Save button below to save your changes. If you just close the window, they are lost.

## Short summary on Wiki

### Wiki languge

We use a heavily customized branch from JAMWiki 0.8.4. that implements the same Wiki language as MediaWiki, the Wikipedia engine. Some subtle differences are possible as these two implementations share no code at all, but from our practice incompatibilities are very rare. When choosing the engine for this project, we have verified a number of Java-based engines, mostly caring about stability and speed. We have been under impression that JAMWiki is clearly at the top.

Text inside brackets like [[This]] creates a link to another article in this Wiki. If the linked article is missing, the link is red, suggesting to create it. If it is desirable to have the different text under the link, it can be specified after the pipe: [[This|is a text under the link]]. Article names are case sensitive. .

Star (*) and #, if specified in the first line, mark the members of the simple or numbered list, and simple square brackets can be used to insert [http://jamwiki.org links to external sites], optionally specifying text after the link after the url but before the closing bracket. Two apostrophs turn on italics and three turn on bold formatting. There are some more advanced tricks like tables but in general this is largely all - Wiki language is not complex.

Space in the first position marks the text that will be presented using fixed width font. This is normally used for program listings and other similar data.

### Keywords

The unusual tag, not present in MediaWiki, is the keywords tag. It defines keywords that web robots like Google engine can use to make website easier to find on a web with search tool. The keywords tag can be at any place of the article (often at the end). It does not output human-readable content, only tags to the HTML header that are not normally visible. For instance, this page contains construct [[Keywords:JLaTeXMath,JAMWiki]] that puts <meta name="keywords" content="JLaTeXMath,JAMWiki> in the header . It is good to have this tag or add it where not present.

### Templates

Wiki templates are supported in general but some templates you may expect from other MediaWiki sites may be missing. We suggest that if you discover this, please move the needed templates yourself if they are under cc-by-sa or compatible license

### References

References to other articles, applets and images are inserted into doubled squared brackets. References to HTML documents outside the site are inserted into single squared brackets. Ref and references tags are also supported. <ref> is used to surround the reference in the text (only the number is displayed), for instance <ref>see [http://www.google.com Google]</ref>. The <references/> tag that must be closed must be at the end of the article where it will list all found references. Please do cite your sources, does not look serious otherwise.

### New articles

To create a new article, type its name into search box and press "Go" (no "Search"). If the article is not present yet, the red link will appear, suggesting to create it. Alternatively, you can create the link to the non existing article - the link will be red and the article will be created when you first click on it.

There is no need to place an applet immediately into every new article. If you have a good idea, formulas, you can write any article and maybe somebody else will contribute applet for you later.

Please do not forget to attribute Wikipedia and other sources that you use under Creative Commons Attribution license group. You can also attribute some other really good images and applets in the acknowledgements section, however do not attribute yourself just for editing several words. In case we need to say this, do not use copyrighted material without specifying where it comes from and which kind of permissions do you have. GFDL - only material can only be included if it makes the complete article - for such case, please add the note that the article is under GFDL. See Terms of use for more on content reuse.

Articles that directly reuse some text from Wikipedia, must use the template {{Wikipedia|article=...}} that displays the acknowledgement. The presence of this template is required by the Creative Commons license and cannot be removed without removing the reused part (may be traceable in the history). Articles that just use Wikipedia as one of the sources cite it as any other reference. This reference does not mean that copyrighted material has been directly included, and can be removed after the better references are found.

## Mathematics

Ultrastudio.org uses JLaTeXMath with the a big subset of the LaTeX standard that seems rich enough for our goals (we are not focusing exclusively on higher mathematics, after all). It is the same engine that is used in Scilab. Mathematical expressions are inserted using $latex|expression[itex] construct. For instance, the text [itex]\frac {V_m} {K_M+S}$


will render as

and

$\sqrt[7] {V_m}$


will render as

also


$\int_a^b \sqrt{x^2} dx + \sum_{a-1}^b \sqrt{x^2}$



produces sum and integral:

The math tag can span over multiple lines without problems. However it cannot follow spaces after beginning of the line. Use colon (:) if you need to shift the equation from the left margin.

Various special symbols are also supported:

$\dot{a} \bigcirc \ddot{a} \acute{a} \grave{a} \partial t, \nabla\psi \to 0$


results

Our LaTeX processor also currently does not recognize underscore as the function start indicator. Use log(x) or log \ x but not \log x:

[[Math:c|\mathcal{O}(n \ log \ n)]]


Backslash, followed by space means "literally space" in LaTeX. Ordinary spaces are ignored by the standard and the letters would be joined together.

Finally, the matrixes also work:

 $\begin{matrix} x & y \\ z & v \end{matrix}$


Some even more sophisticated constructs may or may not work. If you see an empty space instead of equation, this mean that the interpreter failed to understand your input. Try to simplify your equation or split it into several parts. Truly big equations, after all, are difficult to read for Homo sapiens as well.

## Applets

The applet is inserted into wiki page in a very similar way as the image is inserted, just using Applet: prefix instead of the Image: prefix. Same as image, it can be standalone or placed into frame or thumb. However unlike the image, applet does not have the 'native' aspect ration so both width and height must be specified when specifying dimensions.

For instance, the tag [[Applet:Lissajous-1.5.jar|300*210px]] to inserts the the applet Lissajous-1.5.jar, using 300 * 210 pixel area for it. You do not specify the applet class: it is discovered automatically. It can be only one Applet or JApplet class per contribution.

Many applets also support parameters, and can be reused many times in various places, appearing differently from that parameters were passed. Parameters are also easy to specify using name=value tags. For instance, the tag [[Applet:Lissajous-1.5.jar|300*210px|a=11|b=xyz]] specifies two parameters, the integer a (11) and string b ('xyz').

Ultrastudio.org automatically proposes the screen shot for the applet. The screen shot is important as it advertises your applet, also it can provide some partial replacement of its content. The screen shot image link initially appears as the red link, and the new image can be uploaded after clicking on it. The default name of the screen shot image is derived from the applet name and version.

On the top of the applet, several links are always displayed:

1. The Run (or Stop) link starts or stops the applet. If JavaScript is enabled, this link rewrites part of the page, replacing image reference by the browser dependent applet code. If JavaScript is not enabled, the page is reloaded with such a replacement.
2. The Home link points to the "home page" that is specific to the given version of the applet. It contains the release specific information.
3. The Review link points to the code review page of the given applet.
4. The Project link points to the page devoted to the "project" that groups all versions of the given applet.

In case if the appearance of the applet strongly depends on its parameters, the single screen shot may not be enough. If such case the reserved alt parameter is used to specify another image, for instance [[Applet:Lissajous-1.5.jar|300*210px|alt=specimage|a=11|b=xyz]] will specify that screen shot Image:specimage.jpg must be used. All uploaded images are considered derived works and usually have the same license as the original applet. For instance, the tag

[[Applet:LifeGame-1.7.jar|rows=25|cols=25|alt=lifetumbler|200*200px|colony=x= 7,y= 6/2o3b2o$obobobo$obobobo$2bobo$b2ob2o$b2ob2o!/|200*200px|Tumbler]]  inserts the applet that takes many various parameters (25 rows, 25 columns and the colony parameter defines positions of all cells in the colony): Tumbler The same applet may look totally different with another set of parameters, also have the different screen shot for the inactive state, for instance [[Applet:LifeGame-1.7.jar|alt=lifeGlider|rows=15|cols=20|130*120px|colony=x=3,y=3/bo$2bo\$3o!/|thumb|Glider]]


Glider

puts the applet on the corner with the different content (see right bottom from this text).

Inserting applet into website is complex at these days as you need to make difficult choice between APPLET, OBJECT and EMBED put some scripting to adapt the tag depending on the browser. HTML quickly becomes complex if you want to supply the alternative screen shot if the applet is not running, or if you want to have controls to launch it only when required. Ultrastudio.org has a solid engine behind that delivers all these features automatically. JavaScript helps a little bit to beautify the user interface but we do not use it to implement browser specific tags. JavaScript can be disabled on production pages; the applets will still run.

### Applet replacement

In general, if you already see a good applet that illustrates some topic, please do not start edit war putting your own that does the same. It is better to write a different applet for another topic. In cases when we do need to solve the conflict, generally more free license takes over (GPL over specific and unusual licenses, LGPL over GPL and BSD over LGPL), unless there are serious differences in applet capabilities.

## HTML

All HTML is banned from everywhere for security reasons, even and should not work. Use Wiki markup for text and LaTex for formlas.

## Patrolling

The red P in the recent changes indicated that the change must be patrolled by somebody who has the right to patrol. Patrolling means viewing the differences. The patrol rights are different from the administrator rights and are easy to get, all you need is to ask.

## Reverting changes

To revert changes, you can always click on the needed version of the history, then click "edit" and save the past version as current. Administrators have the fast rollback function that is available from the differences page. The rollback action propagates back into the past till the edit done from another IP address (the involved user account is not taken into consideration). Apart focused rollback on the single topic, it is possible to perform "wide revert", eliminating all changes that have been recently done form the particular IP address. Rollback logs contain references to the page with rejected content that is preserved, allowing to display the edit differences at any time later. Rollback right can also be granted to non administrators showing enough interest in helping to maintain the site.

## Blocking

Blocking in Ultrastudio.org is tightly coupled with the particular edit that has been done by the vandal. This edit provides both proof that the blocking was needed (this must be seen from the version difference) and information about the vandal IP address. Administrator can choose to apply blocking as part of the revert action (shortest), block manually without reverting the action at that time (medium) or block as part of the "wide revert" action (longest). The blocking durations that has been set to 48, 72 and 96 hours at time of launching the project are easily changeable from the administration page by barista.

## History and recent changes

Ultrastudio.org uses recent change coalescing: multiple changes, done by the same user in rapid succession, show up a one change. They are patrolled in one action and can also be rolled back in one action. Do not get confused by this. The detailed history is available via history tab of the article.