OpenLLM-France/wikimedia huggingface dataset:
# Umbraco
## Table of Contents

* Installation
* Templating
** Templates
* FAQ (Frequently Asked Questions)
* Reference
* Plugins and Extensions
* Samples and Articles
* Help Out
* Useful links
* Contribution guidelines

## Further Reading

* How to Umbraco - PDF ebook guide on Ubraco 4.7 on Wikimedia Commons
# Umbraco/Contribution guidelines
## General Wiki Information

Help on contributing to this Wikibook is available at Help:Editing

## Spell Checking

Please try and spell check contributions before adding them to the Wiki.

## Requests for content

If there are any information you feel that the Wiki is missing then please add them as sub-sections of this section.
If you decide to create a requested page then please remove the request from this section after you are done.
Current Requests
* Setting up an online store with the E-Commerce plugin
* Creating a contact us form

## Improving this article sections

If you feel that something that you contribute to the Wiki is incomplete, or could be improved, please add a section entitled Improving this article to the end of your contribution detailing the enhancements that you would like to see.
This should allow others to pick up and polish off work that you don't have time to do.

## Empty sections

Please don't create empty or placeholder sections. Only create sections if you have content to contribute.
If you have an idea for a new section please post it in the discussion section of this page.

## Images and screenshots

Wherever possible, use UI screenshots to illustrate examples of using Umbraco.

## Code snippets and examples

Code snippets and samples should be surrounded by code tags.
# Ultimate/Fundamentals
## Intro

"What?!", I hear you cry, "people actually call this a sport?" Well, yes. Now, the basic rules of Ultimate, are remarkable simple. It is only when you delve a little deeper that things start to get complicated. But all things in good time, and here is the general gist of the game for a total ultimate newbie;

## The Rules

* There are two teams on the pitch at any one time, playing in opposite directions, with one disc.
* 7 players on each team on the pitch at any one time outdoors, 5 indoors.
* You cannot travel bipedally or any other way when holding the disc.
* The disc may be thrown in any direction.
* If the disc is dropped/not caught/intercepted/stalled out (see below) then possession of the disc goes to the other team.
* At either end of the pitch there are the End Zones.
* To score one point you must be in the oppositions' End Zone and catch the disc.
* When each point is scored then the teams swap directions.
* The disc cannot be held for more than 10 seconds at a time outside, 8 inside.
* If the indicated number of seconds is reached without release of the disc, then that is a Stall Out, possession changes.
* All games are self adjudicated, no referees. Disputes must be solved between the players involved.
* If a dispute is not resolved, then that play is reset.
# Ultimate
## Table of Contents

* Introduction
* Fundamentals
* Basic drills
* Basic tactics
* Training schedule
# Ultimate/Introduction
## Purpose of this book

This book has the purpose to illustrate:
* What the basics of the game are.
* How a beginner can learn the basics of the game.
* How a coach can teach the basics of the game to a team of beginners.

## Intended audience

The intended audience for this is for people of all ages interested in Ultimate Frisbee.
# Umbraco/Create xslt exstension like umbraco.Library in C

Create a new xslt extension like umbraco.library in C#.
Sometimes you need more functionality in your xslt, and most of the time umbraco.Library is enough. But what do you do if that isn’t enough?
There are 2 ways to create your own functions
1. Inline code. 2. xslt extension
My opinions.
Inline code. Inline code get my xslt look messy, and are difficult to reuse, but works fine if you only need a single function. More info about inline code can be found here
xslt extension. xslt extension on the other hand looks much cleaner, and is easy to re/use again.
Step by Step Ill go through it step by step
1. Create a class library, in my case “ronnie.library”. 2. Create your class/es that you need. In my case “dateMethods.cs” 3. Create the methods you need (remember the methods have to be public and static) e.g.
4. When you are done creating the methods, build and copy the dll in my case “ronnie.library.dll” into the bin folder.
5. Now you just have to register your xslt extension, and this is done in xsltExtensions.xml (placed in the config folder).
6. Open the file and add the following line. Note that starting with Umbraco 4.5, /bin/ is not needed anymore!

## Assembly

    here you type where you have placed your dll file, (without the .dll extension)

## type

    ".NET_namespace.ClassName” Here you have to write the namespace followed by a dot and the class you want to use.

## alias

    This is your xmlns like umbraco.Library, call it what you like. In my case CoolDateMethods
7. Last but not least you have to remember to add the xmlns in your xslt document; this is done like this:
Now you should be ready to use your new xslt extension. Hope this quick’n dirty article was informative for you.
//Ronnie
# Ultimate/Printable version

The current, editable version of this book is available in Wikibooks, the open-content textbooks collection, at
https://en.wikibooks.org/wiki/Ultimate

# Introduction
## Purpose of this book

This book has the purpose to illustrate:
* What the basics of the game are.
* How a beginner can learn the basics of the game.
* How a coach can teach the basics of the game to a team of beginners.

## Intended audience

The intended audience for this is for people of all ages interested in Ultimate Frisbee.

## Spirit of the game
# Fundamentals
## Intro

"What?!", I hear you cry, "people actually call this a sport?" Well, yes. Now, the basic rules of Ultimate, are remarkable simple. It is only when you delve a little deeper that things start to get complicated. But all things in good time, and here is the general gist of the game for a total ultimate newbie;

## The Rules

* There are two teams on the pitch at any one time, playing in opposite directions, with one disc.
* 7 players on each team on the pitch at any one time outdoors, 5 indoors.
* You cannot travel bipedally or any other way when holding the disc.
* The disc may be thrown in any direction.
* If the disc is dropped/not caught/intercepted/stalled out (see below) then possession of the disc goes to the other team.
* At either end of the pitch there are the End Zones.
* To score one point you must be in the oppositions' End Zone and catch the disc.
* When each point is scored then the teams swap directions.
* The disc cannot be held for more than 10 seconds at a time outside, 8 inside.
* If the indicated number of seconds is reached without release of the disc, then that is a Stall Out, possession changes.
* All games are self adjudicated, no referees. Disputes must be solved between the players involved.
* If a dispute is not resolved, then that play is reset.
# Umbraco/Reference/umbraco.library/DateGreaterThan

<xsl:value-of select="umbraco.library:DateGreaterThan($datestart, $datenow)"/>
# Umbraco/Reference/umbraco.library/FormatDateTime
## Purpose:

This function allows you to format a date.

## Arguments:

FormatDateTime('String Date'-'String Date') FormatDateTime('String Format')
String Date = d-d String Format = MMM

## String Format Codes:

Month MMMM = Full month name spelled out ('August') MMM = Abbreviated month name ('Aug') MM = 2 digit month ('08') %M = 1 or 2 digit month ('8')
Day dddd = Full day of week ('Thursday') ddd = Abbreviated day of the week ('Thu') dd = 2 digit day ('06') d = 1 or 2 digit day ('6')
Year
y or yy = 2 digit year ('99') yyyy = 4 digit year ('1999')
Hour h = 1 or 2 digit hour ('9') hh = 2 digit hour ('09') H = 24 hour ('21')
Minute m = 1 or 2 digit minute ('3') mm = 2 digit minute('03')
AM/PM tt = AM/PM
RFC-1123 date-time r = the date-time following the RFC-1123 pattern For example: Wed, 02 Oct 2002 13:00:00 GMT

## Example XSLT Usage:

<xsl:value-of select="umbraco.library:FormatDateTime(@updateDate, 'MMMM d, yyyy')"/>
<xsl:value-of select="umbraco.library:FormatDateTime(@updateDate, 'r') "/>
# Umbraco/Reference/umbraco.library/RenderMacroContent
## Purpose:

Run a macro and insert the output into your XSLT.

## Arguments:

RenderMacroContent(String Text, Int32 PageId)
Text: an encoded version of the template 'macro' code (see below for proper encoding)
PageId: NodeID for the node you want to use for the content for the macro

## String Text Encoding Instructions:

When you are putting the code for your macro in a template it looks something like this:
<?UMBRACO_MACRO macroAlias="LatestNews" numberOfItems="3"></?UMBRACO_MACRO>
To encode this for the RenderMacroContent function follow these steps:
1. Change '<' to '&lt;'
          &lt;?UMBRACO_MACRO macroAlias="LatestNews" numberOfItems="3">&lt;/?UMBRACO_MACRO>
2. Change '>' to '&gt;'
          &lt;?UMBRACO_MACRO macroAlias="LatestNews" numberOfItems="3"&gt;&lt;/?UMBRACO_MACRO&gt;
3. Change '"' to '&quot;'
          &lt;?UMBRACO_MACRO macroAlias=&quot;LatestNews&quot; numberOfItems=&quot;3&quot;&gt;&lt;/?UMBRACO_MACRO&gt;
4. When you put this into the XSLT, enclose the whole thing in single quotes:
          umbraco.library:RenderMacroContent('&lt;?UMBRACO_MACRO macroAlias=&quot;LatestNews&quot; numberOfItems=&quot;3&quot;&gt;&lt;/?UMBRACO_MACRO&gt;'...

## Example XSLT Usage:

<xsl:value-of select="umbraco.library:RenderMacroContent('<?UMBRACO_MACRO macroAlias="LatestNews" numberOfItems="3"></?UMBRACO_MACRO>', @id)" disable-output-escaping="yes"/>
This string should of course be encoded, so it would look like this:
<xsl:value-of select="umbraco.library:RenderMacroContent('&lt;?UMBRACO_MACRO macroAlias=&quot;LatestNews&quot; numberOfItems=&quot;3&quot;&gt;&lt;/?UMBRACO_MACRO&gt;', @id)" disable-output-escaping="yes"/>

## Little Bonus: XSLT to do the encoding for you

If you want to be able to just "cut & paste" the standard template macro code into your XSLT and have it encoded properly, add this bit of code to a new XSLT:
<xsl:variable name="Macro"> <xsl:value-of select="{PUT YOUR TEMPLATE MACRO CODE HERE}"/> </xsl:variable> <xsl:variable name="MacroEncoded"> <xsl:value-of select="umbraco.library:Replace(umbraco.library:Replace(umbraco.library:Replace($Macro, '"', '&quot;'), '>', '&gt;'), '<', '&lt;')"/> </xsl:variable>
Then use this to render the encoded XSLT to a test page in your browser (which you can then cut & paste into your XSLT code):
<xsl:value-of select="$MacroEncoded" />

## Version 4 Warning

Warning, Umbraco 4 macros with new templates have a different syntax however the XSLT extention still requires the old v3 one so if you copy the macro inserted into a v 4 template you need to change it to v3
i.e.
<umbraco:Macro Alias="Name" runat="server"></umbraco:Macro>
becomes
<?UMBRACO_MACRO macroAlias="Name" runat="server"></?UMBRACO_MACRO>
(with escaping)
# Umbraco/Reference/Umbraco XML Format
## Umbraco XML Format

All published content in umbraco are stored in an Xml Document which has the following format: First the Node (which often is a page) is represented by a ”Node” element. This node element has a number of attributes with basic information about the structure, type, name and create/update dates. The data on the page – the generic properties defined in the document type – is then represented as “Data” elements which is children of the “Node” element. The node can also have other nodes as children, and representing the structure of the site.
Confused – don't be; lets have a look:

### The attributes of the node element

* id: The Identifier of the page (node)
* version: Identifier of the version id for the page
* parentID: Identifier of the parent node
* level: The depth of the placement of the node
* template: Identifier of the template
* sortOrder: The order of the node
* createDate: The createdate of the node
* updateDate: The date of the latest update (publishing time)
* nodeName: The title of the node
* urlName: Used by the umbraco request handler
* writerName: The name of the user who published the node
* nodeTypeAlias: The alias of the document type
* path: A comma-separated string representing all parent-nodes

### The attributes of the data element

* version: The identifier of the version id for the page which this property belongs to
* alias: The alias of the Property Type (as defined in the document type)
# Umbraco/Reference/umbraco.library/LongDate
## Umbraco.library.LongDate

The method is used to get return a formatted date from Umbraco's XML.
Parameters
LongDate(String date);
or
LongDate(String date, bool includeTime, String separator);
Return value
The method returns a string in the form:
Usage
# Umbraco/Reference/umbraco.library/NiceUrl
## Umbraco.library.NiceUrl

Return a 'Friendly URL' for a given node in the Umbraco repository.
Parameters
NiceUrl(int NodeId);
Return value
The method returns a String with the url of the specified node.
Usage
# Umbraco/Reference/umbraco.library/GetMedia
## Umbraco.library.GetMedia

The method is used to get information of files in the media library - such as filename, size, height, width.
Parameters
GetMedia(int MediaId, bool Deep);
Return value
The method returns a XPathNodeIterator with the information of selected file.
Usage
Getting the url of a media file
Getting the url of a media file with the new xml structure
# Umbraco/Reference/umbraco.library/Session
## Purpose

Retrieve a value stored in a session variable.

## Arguments

Session(String key)
key: the name of the session variable to retrieve.

## Example XSLT Usage

<xsl:variable name="sessionVariable" select="umbraco.library:Session('sessionVariable')" />
<!-- $sessionVariable now refers to the value stored in the session variable called 'sessionVariable'. -->
# Umbraco/Samples and Articles
## Samples and Articles

* Document Types and Templates
* XSLT
* Macros
* .NET Controls
* Creating umbraco pages programmatically
* Multilingual sites
* Implementing Search
* Creating Newsletters
* Protecting Documents
# Video Game Design/Programming/Framework/AI
### Artificial Intelligence (AI)

Artificial intelligence is what make your game world come alive and gives your in-game creatures a mind of their own. AI also allows the difficulty of the game to change either by having a user select their own difficulty level or by having the game adapt automatically to the players skill level. There are many ways to implement AI in a game.
* Artificial Intelligence

#### Finite state machines

Very simple type of AI were used in Doom. Finite State Machines consist of a list of possible states (or "emotions"). Let's say there is a game that has guards that patrol a room looking for intruders.
Let's also suppose these guards have five states:
* Patrolling - The guard is walking along on his assigned route
* Waiting, or idle - The guard is standing somewhere, possibly talking with another nearby guard, smoking, etc.
* Suspicious - The guard has heard a noise and thinks something is nearby (ex: a guard heard a player kick a rock off a ledge)
* Alert - The guard has visibly seen you and is attacking, or possibly shouting out for help
* Injured/In trouble - You have hurt the guard, but he is alive, and is running for help
These states would have particular actions consistent with the "emotion" of the guard. Patrol would activate the waypoint system, Alert would mean you activate the targeting system for the AI.
# Video Game Design/Programming/Framework
### General Architecture Issues

A game's framework is basically all the programming that goes into the creation of the game but does not directly implement any of the gameplay. This can be the code that manages the display, access to files, sound and other peripherals.
There is no one size fits all framework for video games. Each game requires a selection of components and strategies for linking them together. Using a freely available or even licensing a popular framework has the benefit that you will not need to "reinvent the wheel" and get support and collaboration in solving issues and extending capabilities. In fact the only advantage in creating your own framework is to have control over it, this can be due to the need of implementing something that other oppose or simply to get monetary compensation from that specific work and license it to others.

#### Choosing an API (Application Programming Interface)

There are a large number of APIs that are suitable for Game Programming. APIs range from specialty (Graphics only, such as OpenGL) to very, very broad (windowing, graphics, networking, etc are available in ClanLib)
* OpenGL -- Specifically, this is a graphics library. Some other APIs can integrate very nicely with OpenGL (such as SDL). It is also cross-platform.
* DirectX -- A set of APIs by Microsoft, specifically for machines running Windows, though it is on some other Microsoft platforms(xbox 1 used an modified version of the DirectX API). They include sound, music, graphics, input, and networking.
* SDL (Simple DirectMedia Layer) -- A good C-based library that is very portable, and while pretty low-level, it is complete enough to control sound, graphics, and input (from joysticks, keyboard, mouse and CD-Rom). zlib/png license.
* SFML -- An Object Oriented C/C++/.Net API supporting audio, graphics, window handling, multi-threading, networking, and input (from mouse, keyboard and joysticks).
* Allegro -- An easy to use library for C/C++ programs. Cross-platform (supports Windows, DOS, Mac OS X, UNIX, and BeOS). Provides functions for graphics, sounds, input, and timers.
* ClanLib -- A C++ toolkit and OpenGL 2.0 wrapper.
# Video Game Design/Programming/Framework/Physics
### Physics

When creating a game there are some features that will aid the gamer to be able to easily interact in the virtual environment created. If simulating real environments this is extremely important since realism is expected, from object trajectories to how they collide, the feeling of mass and how fluid behave and other similar behaviors can all be modeled in conformance to well understood formulas that are also valid on the real word.

#### Liquids

* Surface tension
* Viscosity
# Video Game Design/Programming/Framework/Procedural Content Generation
### Procedural Content Generation

The concept is defined as the process of procedurally generating any type of 2D/3D geometry, textures, scripts or sound, even using a randomization seed. To date this technique is primarily used to create environments, simple worlds or structures. This approach can also be applied to many other content, using strict definitions it can be used in cooperative work with AI (dynamic environments, object and creatures), but it is still difficult to be as reliable as realistic as traditional animation, even if it can provide greater variability and in replicating human voice it is still at its infancy.
Unless there is a benefits for interactivity or to enable randomization, procedural content generation should be avoided as it is expensive in terms of CPU cycles and generally complex to implement, exceptions are made to repetitive but simple patterns, even if interaction is not possible, for instance in the simulation of water, the effect of rain or even the display of clouds, smoke, fire or explosions. A less important factor that may prompt the use of procedural content generation are space (size) restrictions in the finished product, due to the media to be used or the size of the download.
# Video Game Design/Programming/Selecting the Hardware
## Selecting the hardware

To develop a game you may need not only qualified personal is special tasks, like graphics designers but you will have also to consider the software for editors (for creating things such as characters, items, scenery) but also the physical hardware to support those tasks, for example graphic tablets may be required for the graphic design, and you will probably need scanners to input hand drawn pictures from artists as well as cameras, cameras could to be used to take pictures of drawn artwork. All these extra costs have to be well considered and depend only on the level of your project.
But hardware considerations are not restricted to the tools you will be using, but most important is the requirement to run your finished product, this will not only affect the target audience but shape the development of the project. The software requirements to implement you game design may require to access large amounts of memory but have a limited amount available to work with at each time the can be also other limitations such weaker CPUs, weaker processor caches or non-default memory alignment requirements.

### The easy way out...

No frills, no whistles and no extra costs. If you select a virtual framework, lets say by using Flash as your developing framework you will skip the need to think about and supporting special hardware or setups, you will also have a RAD tool to put your concept into action.

### Distribution media

Distribution media is important to determine how much resources can be packed and how they should be packed.

## Selecting the Programming Language
### Prototyping

A prototype is meant to be an exploration, a journey to see how ideas will play out once they are embodied into a full working program. It is the testing of a new concept that has not been seen before and because of this it must be most flexible in its implementation so it it easy to improve, since the creation of the prototype will inspires completely new ideas. If the exploration of new concepts is not done during the prototyping phase then what was the point of the prototype at all?
Prototyping is meant to be done quickly and then it needs to change even quicker. To be able to do that it as to be maintainable and use a flexible and well-written code base. But keep in mind that a prototype is only useful if it is good enough so to prove your vision as correct and to be discarded for a real implementation; if you spend so much time on the prototype that you start to begging to question its replacement, then you are on the wrong path or have spent too much effort on what should remain the first tryout of the master plan.
# Using POSper/Developer guide/Database-Table descriptions

The information on this page is confirmed up to POSper revision 423

## Contents
### Generator tables

These tables are simply storehouses for the next available id for other tables that they serve.
* posper_ticketcreationgenerator
* posper_ticketidgenerator

### Restaurant specific tables

These tables seem fairly specific to a restaurant setting rather than being generally applicable to any POS.
* posper_reservation

### Geographic

These tables are spatial by nature
* posper_floor
* posper_location
* posper_place
* posper_productlocation

### Ticket handling

These tables deal with handling tickets
* posper_ticket
* posper_ticketline

### User management

These tables manage users including user rights
* posper_user
* posper_role
* posper_role_permission
* posper_permission

### The rest

The rest of the tables
* posper_stockdiary
* posper_cashregister
* posper_category
* posper_image
* posper_payment
* posper_product
* posper_property
* posper_resource
* posper_imageresource
* posper_tax
# kitchen_order_ticket_line

This associative table connects a kitchen order to a specific line item on a ticket.
| Column Name | Data Type | Null Allowed? | Key? | Comments |
| kitchen_order_id | VARCHAR(255) | No | Foreign Key; part of Primary | points to the associated kitchen order |
| lines_id | VARCHAR(255) | No | Foreign Key; part of Primary | points to the associated ticket_line |
# posper_cashregister

This table describes a specific cash session, opened and closed at specific times, for a specific host.
| Column Name | Data Type | Null Allowed? | Key? | Comments |
| id | VARCHAR(255) | No | Primary | UUID instead of int |
| version | INT(11) | No | | This is used by hibernate to track table versions |
| dateOpen | DATETIME | No | | The start date/time of the cash session |
| dateClose | DATETIME | Yes | | the end date/time of the cash session |
| host | VARCHAR(255) | No | | The host that this cash session applies to |