<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://docs-old.ckeditor.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Anna</id>
		<title>CKSource Docs - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://docs-old.ckeditor.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Anna"/>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/Special:Contributions/Anna"/>
		<updated>2026-04-09T20:18:10Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=Template:Ckfinder_2.x_Built-in_Resource_Types_Options&amp;diff=7440</id>
		<title>Template:Ckfinder 2.x Built-in Resource Types Options</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=Template:Ckfinder_2.x_Built-in_Resource_Types_Options&amp;diff=7440"/>
				<updated>2019-09-04T10:43:42Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Minor text correction.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Resource Type Options ==&lt;br /&gt;
For each resource type you may set several options to configure its behavior.&lt;br /&gt;
 &lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;directory&amp;lt;/code&amp;gt; &amp;amp;ndash; define the base URL address and the server directory used to handle and publish the files for this resource type. They follow the same rules as defined in the [[{{{link}}}|Quick Start]] section for the &amp;lt;code&amp;gt;baseUrl&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;baseDir&amp;lt;/code&amp;gt; settings.&lt;br /&gt;
 &lt;br /&gt;
* &amp;lt;code&amp;gt;maxSize&amp;lt;/code&amp;gt; &amp;amp;ndash; is the maximum size of the uploaded image defined in bytes. You may also use shorthand notation. Available options are: &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; (case insensitive). Remember that &amp;lt;code&amp;gt;1M&amp;lt;/code&amp;gt; equals 1048576 bytes (one Megabyte), &amp;lt;code&amp;gt;1K&amp;lt;/code&amp;gt; equals 1024 bytes (one Kilobyte), &amp;lt;code&amp;gt;1G&amp;lt;/code&amp;gt; equals 1 Gigabyte.&lt;br /&gt;
*; Example: {{{example}}}&lt;br /&gt;
 &lt;br /&gt;
You can use the following settings to list the file extensions that can be upload to the server:&lt;br /&gt;
* &amp;lt;code&amp;gt;allowedExtensions&amp;lt;/code&amp;gt; &amp;amp;ndash; the file extensions you wish to be allowed for upload with CKFinder. If left empty, only &amp;lt;code&amp;gt;deniedExtensions&amp;lt;/code&amp;gt; is used to check uploads. The &amp;lt;code&amp;gt;NO_EXT&amp;lt;/code&amp;gt; value can be used for enabling files without an extension.&lt;br /&gt;
* &amp;lt;code&amp;gt;deniedExtensions&amp;lt;/code&amp;gt; &amp;amp;ndash; the file extensions you do not wish to be uploaded with CKFinder. The &amp;lt;code&amp;gt;NO_EXT&amp;lt;/code&amp;gt; value can be used for denying files without an extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;Important: It is '''recommended''' to always use the &amp;lt;code&amp;gt;allowedExtensions&amp;lt;/code&amp;gt; setting, in favor of &amp;lt;code&amp;gt;deniedExtensions&amp;lt;/code&amp;gt;. If you leave &amp;lt;code&amp;gt;allowedExtensions&amp;lt;/code&amp;gt; empty and you add an extension to the  &amp;lt;code&amp;gt;deniedExtensions&amp;lt;/code&amp;gt; list, for example &amp;lt;code&amp;gt;pdf&amp;lt;/code&amp;gt;, the settings will allow the upload of all other files except the files with the &amp;lt;code&amp;gt;pdf&amp;lt;/code&amp;gt; extension. This approach is not a good way to secure your server from unwanted uploads. The best way is to put all of the preferred extensions in the &amp;lt;code&amp;gt;allowedExtensions&amp;lt;/code&amp;gt; list. This is the only way to effectively secure your server from hacker attacks.&amp;lt;/note&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=Template:Ckfinder_2.x_Securing_a_Publicly_Accessible_Folder&amp;diff=7431</id>
		<title>Template:Ckfinder 2.x Securing a Publicly Accessible Folder</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=Template:Ckfinder_2.x_Securing_a_Publicly_Accessible_Folder&amp;diff=7431"/>
				<updated>2019-09-04T08:09:45Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Removed redundant bracket.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When integrating CKFinder, you will often want to give users access to uploaded files, so they can insert images or links to files into the edited content. This requires to make the folder publicly accessible, so all the files are served through the web server. If you rely on your web server to serve the files uploaded with CKFinder, you should take additional steps to make sure the files are served in a secure way.&lt;br /&gt;
&lt;br /&gt;
Let us assume that you have configured your CKFinder to allow uploading of avi files. Even if the avi file is then served with a valid Content-Type: &amp;lt;code&amp;gt;video/x-msvideo&amp;lt;/code&amp;gt; header, some browsers may ignore this information and perform additional checks on the raw file contents. If any HTML-like data is detected in the file content, the browser may decide to ignore information about the content type and handle the served content as if it was a regular web page. This behavior is called [https://en.wikipedia.org/wiki/Content_sniffing content sniffing] (also known as ''media type sniffing'' or ''MIME sniffing''), and in some circumstances, it may lead to security issues (for example, it may open door for XSS attacks).&lt;br /&gt;
&lt;br /&gt;
To avoid content sniffing, you should make sure that your server adds the &amp;lt;code&amp;gt;X-Content-Type-Options: nosniff&amp;lt;/code&amp;gt; header to all HTTP responses when serving files from the publicly available folder. The &amp;lt;code&amp;gt;X-Content-Type-Options&amp;lt;/code&amp;gt; response HTTP header is a marker used by the server to indicate that the MIME type set by the &amp;lt;code&amp;gt;Content-Type&amp;lt;/code&amp;gt; header should not be changed and should be followed. As a result, the browser does not perform any content sniffing on the received content.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=Main_Page&amp;diff=7395</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=Main_Page&amp;diff=7395"/>
				<updated>2016-03-25T14:17:04Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: CKFinder 3 for ASP.NET Connector Documentation added.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#CUSTOMTITLE:CKSource Docs - The Official Documentation Site}}&amp;lt;table style=&amp;quot;width:100%&amp;quot; cellspacing=&amp;quot;30&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;width:50%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{CKEditor_Docs_FrontPage}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;quot;width:50%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://a.cksource.com/e/1/img/logo-ckfinder-h100.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;introText&amp;quot;&amp;gt;Manage your images and files with this easy to use yet extremely powerful file manager, making your web content truly rich and enhancing the user experience.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMainDoc&amp;quot;&amp;gt;[http://docs.cksource.com/ckfinder3/ CKFinder 3 Documentation Website]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMainDoc&amp;quot;&amp;gt;[http://docs.cksource.com/ckfinder3-php/ CKFinder 3 PHP Connector Documentation]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMainDoc&amp;quot;&amp;gt;[http://docs.cksource.com/ckfinder3-net/ CKFinder 3 ASP.NET Connector Documentation]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMainDoc&amp;quot;&amp;gt;[[CKFinder_2.x/Developers Guide|CKFinder 2 Developer's Guide]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMainDoc&amp;quot;&amp;gt;[[CKFinder_2.x/Users Guide|CKFinder 2 User's Guide]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeDoc&amp;quot;&amp;gt;[[CKFinder_1.x/Developers Guide|CKFinder 1.x Developer's Guide]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeDoc&amp;quot;&amp;gt;[[CKFinder_1.x/Users Guide|CKFinder 1.x User's Guide]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeSite&amp;quot;&amp;gt;[http://cksource.com/ckfinder CKFinder Web Site]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:50%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
http://a.cksource.com/c/1/inc/img/ckeditor-for-drupal-logo.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;introText&amp;quot;&amp;gt;The ultimate editing solution for Drupal Open Source CMS that brings all amazing features of the most popular online WYSIWYG editor in the world to this platform.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMainDoc&amp;quot;&amp;gt;[[CKEditor_for_Drupal|CKEditor for Drupal Documentation]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:50%&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
http://a.cksource.com/c/1/inc/img/ckeditor-for-joomla-logo.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;introText&amp;quot;&amp;gt;The ultimate editing solution for Joomla! content management system that brings all amazing features of the most popular online WYSIWYG editor in the world to this platform.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMainDoc&amp;quot;&amp;gt;[[CKEditor_for_Joomla|CKEditor for Joomla Documentation]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmlet&amp;gt;enterprise_box&amp;lt;/htmlet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmlet&amp;gt;enterprise_solutions&amp;lt;/htmlet&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=FCKeditor_3.x/Design_and_Architecture/Rebranding&amp;diff=7381</id>
		<title>FCKeditor 3.x/Design and Architecture/Rebranding</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=FCKeditor_3.x/Design_and_Architecture/Rebranding&amp;diff=7381"/>
				<updated>2015-11-17T12:14:24Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: /* The Problem */ Minor grammar correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FCKeditor, The Name  ==&lt;br /&gt;
&lt;br /&gt;
The '''FCK''' letters in '''FCKeditor''' are the initials of Frederico Caldeira Knabben, the project starter and lead developer of FCKeditor. &lt;br /&gt;
&lt;br /&gt;
Frederico was used to use &amp;quot;fckVarName&amp;quot; while developing to indicate temporary things he introduced in the code. While living in Rome, his Italian co-workers were used to play with him point things like the &amp;quot;FCK Thing&amp;quot; because of it. So, in the late 2002, he decided to call his editor project &amp;quot;FCKeditor&amp;quot;, as it fitted well with his friends jokes. The name sounded good in any case.&lt;br /&gt;
&lt;br /&gt;
== The Problem  ==&lt;br /&gt;
&lt;br /&gt;
Well, &amp;quot;FCKeditor&amp;quot; doesn't always sound good really. It depends on the person reading it. &lt;br /&gt;
&lt;br /&gt;
For native English speakers (Frederico is Brazilian), the FCK letters combined together are a shortcut for a bad word (probably the most used bad word in English). This information came to Frederico too late, after 2 years of FCKeditor, and the project was already too diffuse and mature to think about changing its name. &lt;br /&gt;
&lt;br /&gt;
Many will say that the name is not a problem. The important thing is the quality of the software. This is true, but many others will feel the overall editor quality lower just because of that name fact. People may not understand how serious we are about FCKeditor, not taking us seriously because of it.&lt;br /&gt;
&lt;br /&gt;
== Rebranding  ==&lt;br /&gt;
&lt;br /&gt;
Changing the editor name right now is an extremely complex task. In the marketing point of view, it may be a bad decision, but it depends on the benefits it could bring. &lt;br /&gt;
&lt;br /&gt;
We feel that we need to face this change. We want to make our editor perfect in all senses, so why not work on its name?&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== The New Name: CKEditor  ==&lt;br /&gt;
&lt;br /&gt;
After [http://www.fckeditor.net/forums/viewtopic.php?f=11&amp;amp;t=8784 long discussions at our forums], [http://www.fckeditor.net/node/374 polls], and in-depth thoughts, we have defined the new name for the editor: '''CKEditor'''. The &amp;quot;F&amp;quot; has been dropped from &amp;quot;FCK&amp;quot;, and the &amp;quot;E&amp;quot; is now uppercased to avoid the confusion we had in the past. &lt;br /&gt;
&lt;br /&gt;
Being this new name a perfect solution for a new editor product is still discussible, but it's proving to be the best compromise for a successful name changing in our case. &lt;br /&gt;
&lt;br /&gt;
This change would also allow us following a product like with the &amp;quot;CK&amp;quot; prefix: CKEditor, CKFinder, CKPackager, etc. The CK letters stand for &amp;quot;Content and Knowledge&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=Template:Drupal_OS_CKFinder&amp;diff=7357</id>
		<title>Template:Drupal OS CKFinder</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=Template:Drupal_OS_CKFinder&amp;diff=7357"/>
				<updated>2015-07-14T13:03:05Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CKFinder is an Ajax-based file manager created by CKEditor developers: http://ckfinder.com/. CKFinder support is already built into the CKEditor for Drupal module, but due to licensing issues you need to buy it separately, add the files to your Drupal site and then enable the file browser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;The instructions below are valid for '''CKFinder 2.x only'''. The CKEditor module as well as its documentation will be adjusted to new CKFinder 3.x soon.&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;If you are looking for a simplified solution, try the [http://ckeditor.com/ckeditor-for-drupal Enterprise version of the module] that comes with a CKFinder license and the file browser already included in the module and working out-of-the-box. The Enterprise version of the component also includes professional assistance from the original CKEditor development team in the form of a '''dedicated e-mail support channel'''.&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to install CKFinder on your Drupal {{{version}}} site, follow the steps described below.&lt;br /&gt;
&lt;br /&gt;
First of all, download '''CKFinder for PHP''' from the [http://ckfinder.com/download official CKFinder website].&lt;br /&gt;
&lt;br /&gt;
Unpack the contents of the installation package into the directory that contains the CKEditor module and place it in the &amp;lt;code&amp;gt;sites/all/modules/ckeditor/ckfinder&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;sites/all/libraries/ckfinder&amp;lt;/code&amp;gt;) folder. . When the files are unpacked, you should see the following file structure inside the &amp;lt;code&amp;gt;drupal/sites/all/modules&amp;lt;/code&amp;gt; directory:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
modules               &amp;lt;dir&amp;gt;&lt;br /&gt;
   ckeditor           &amp;lt;dir&amp;gt;&lt;br /&gt;
      ckeditor.css&lt;br /&gt;
      ckeditor.info&lt;br /&gt;
      ...&lt;br /&gt;
      ckeditor        &amp;lt;dir&amp;gt;&lt;br /&gt;
         _samples     &amp;lt;dir&amp;gt;&lt;br /&gt;
         _source      &amp;lt;dir&amp;gt;&lt;br /&gt;
         adapters     &amp;lt;dir&amp;gt;&lt;br /&gt;
         images       &amp;lt;dir&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         ckeditor.js&lt;br /&gt;
         ...&lt;br /&gt;
      ckfinder        &amp;lt;dir&amp;gt;&lt;br /&gt;
         _samples     &amp;lt;dir&amp;gt;&lt;br /&gt;
         core         &amp;lt;dir&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         ckfinder.js&lt;br /&gt;
         ckfinder.php&lt;br /&gt;
         ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will now need to grant the '''&amp;quot;{{{permission}}}&amp;quot;''' permission in the '''Administration panel''' &amp;gt; '''{{{path1}}}''' &amp;gt; '''Permissions''' section. Note: if you do not see this permission, it means that CKEditor did not find CKFinder and you have probably uploaded CKFinder into a wrong directory.&lt;br /&gt;
&lt;br /&gt;
[[Image:Drupal_{{{version}}}_Enterprise_CKFinder_permission.png|frame|center|Granting CKFinder access permission in the Drupal Administration panel]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now open the CKFinder configuration file (&amp;lt;code&amp;gt;ckfinder/config.php&amp;lt;/code&amp;gt;) and introduce the code changes described below.&lt;br /&gt;
&lt;br /&gt;
Firstly, remove the &amp;lt;code&amp;gt;CheckAuthentication()&amp;lt;/code&amp;gt; function (do not worry, this function is defined in &amp;lt;code&amp;gt;filemanager.config.php&amp;lt;/code&amp;gt;, see below):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
function CheckAuthentication()       &amp;lt;- remove it&lt;br /&gt;
{                                    &amp;lt;- remove it&lt;br /&gt;
   //WARNING : DO NOT simply...      &amp;lt;- remove it&lt;br /&gt;
   ...                               &amp;lt;- remove it&lt;br /&gt;
   return false;                     &amp;lt;- remove it&lt;br /&gt;
}                                    &amp;lt;- remove it&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
For CKFinder installed in the &amp;lt;code&amp;gt;sites/all/modules/ckeditor/ckfinder&amp;lt;/code&amp;gt; directory add:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
require_once '../../../../includes/filemanager.config.php';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
straight below the following line:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$baseDir = resolveUrl($baseUrl);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
For CKFinder installed in the &amp;lt;code&amp;gt;sites/all/libraries/ckfinder&amp;lt;/code&amp;gt; directory add:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
require_once '../../../../../modules/ckeditor/includes/filemanager.config.php';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
straight below the following line:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$baseDir = resolveUrl($baseUrl);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now open the Drupal settings file (&amp;lt;code&amp;gt;sites/default/settings.php&amp;lt;/code&amp;gt;) and do the following:&lt;br /&gt;
* Uncomment the &amp;lt;code&amp;gt;$base_url&amp;lt;/code&amp;gt; variable and set the base URL of your website (without the trailing slash).&lt;br /&gt;
* Uncomment the &amp;lt;code&amp;gt;$cookie_domain&amp;lt;/code&amp;gt; variable and set the domain name of your website.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Select CKFinder as a preferred file browser in the '''Administration panel''' &amp;gt; '''{{{path2}}}''' &amp;gt; '''CKEditor''' section (for a selected CKEditor profile scroll down to the '''File browser settings''' section).&lt;br /&gt;
&lt;br /&gt;
[[Image:Drupal_{{{version}}}_OS_enable_CKFinder.png|frame|center|Selecting CKFinder as a preferred file browser in the Drupal Administration panel]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can now [[CKEditor_for_Drupal/Open Source/Drupal_{{{version}}}/Configuration|configure]] CKFinder settings in the '''File browser settings''' section for the CKEditor profile that you want to use. You may also change destination folders for files uploaded with CKFinder.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Howto/License_Renewal&amp;diff=7348</id>
		<title>CKEditor 3.x/Howto/License Renewal</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Howto/License_Renewal&amp;diff=7348"/>
				<updated>2015-06-25T09:21:18Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Link to renewals updated.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#CUSTOMTITLE:How Does the Commercial License Renewal Work?}}&lt;br /&gt;
All commercial CKEditor licenses (CKSource Closed Distribution License (CDL)) are ''lifetime'' and ''perpetual''. Your right to use and distribute the purchased software ''never expires''.&lt;br /&gt;
&lt;br /&gt;
Each purchase also gives you the right to upgrade CKEditor to all newer versions released within a year after you buy a license as well as to use the dedicated support channel during this time. After a year from the date of your purchase your access to the support channel is terminated and you can no longer upgrade CKEditor to versions released after this time.&lt;br /&gt;
&lt;br /&gt;
Each license can be renewed yearly at a discounted price in order to make it possible for you to take advantage of latest editor versions and maintain access to professional assistance from the CKEditor development team. To renew your comercial license, just go the the [http://cksource.com/ckeditor/buy#renewal CKEditor Premium website] and scroll to the '''Renew CKEditor Premium support &amp;amp; upgrades''' section. &lt;br /&gt;
&lt;br /&gt;
The full text of the CKSource Closed Distribution License is available [http://cksource.com/cdl here].&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/PHP/Configuration/Sessions&amp;diff=7346</id>
		<title>CKFinder 2.x/Developers Guide/PHP/Configuration/Sessions</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/PHP/Configuration/Sessions&amp;diff=7346"/>
				<updated>2015-05-20T05:27:43Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Missing code formatting added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enabling sessions ==&lt;br /&gt;
&lt;br /&gt;
It is quite possible that you will use session variables in the configuration file (&amp;lt;code&amp;gt;config.php&amp;lt;/code&amp;gt;), for example when setting up the [[CKFinder_2.x/Developers_Guide/PHP/Configuration/Access_Control|Access Control]] or writing the [[CKFinder_2.x/Developers_Guide/PHP/Configuration/Quick_Start|CheckAuthentication()]] function. &lt;br /&gt;
&lt;br /&gt;
Please remember that you have to start your session before use of &amp;lt;code&amp;gt;$_SESSION&amp;lt;/code&amp;gt; becomes available.&lt;br /&gt;
In most cases it can be done by uncommenting the &amp;lt;code&amp;gt;session_start()&amp;lt;/code&amp;gt; call in the configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
session_start();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once enabled, session variables can be accessed using the global &amp;lt;code&amp;gt;$_SESSION&amp;lt;/code&amp;gt; array:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$_SESSION['CKFinder_UserRole'] = &amp;quot;admin&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do not call &amp;lt;code&amp;gt;session_start()&amp;lt;/code&amp;gt; in the [[CKFinder_2.x/Developers_Guide/PHP/Configuration/Quick_Start|CheckAuthentication()]] function body, it is recommended to call &amp;lt;code&amp;gt;session_start()&amp;lt;/code&amp;gt; at the beginning of &amp;lt;code&amp;gt;config.php&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
More information about session handling can be found in [http://php.net/manual/en/ref.session.php PHP manual].&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=Template:CKEditor_Docs_FrontPage&amp;diff=7334</id>
		<title>Template:CKEditor Docs FrontPage</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=Template:CKEditor_Docs_FrontPage&amp;diff=7334"/>
				<updated>2014-11-06T12:38:54Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: CKEditor SDK link added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://a.cksource.com/e/1/img/logo-ckeditor-h100.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;introText&amp;quot;&amp;gt;Bring rich editor features to your products and websites, providing your users with powerful tools to make creating Web content easier than ever and accessible to anyone.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMainDoc&amp;quot;&amp;gt;[http://docs.ckeditor.com/ CKEditor 4 Documentation Website]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMainDoc&amp;quot;&amp;gt;[http://sdk.ckeditor.com/ CKEditor SDK with Editor Samples]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMinDoc&amp;quot;&amp;gt;[[CKEditor 3.x/Developers Guide|CKEditor 3 Developer's Guide]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMinDoc&amp;quot;&amp;gt;[[CKEditor_3.x/Users_Guide|CKEditor 3 User's Guide]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMinDoc&amp;quot;&amp;gt;[[CKEditor_3.x/Howto|CKEditor 3 HOWTOs]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMinDoc&amp;quot;&amp;gt;[[CKEditor_3.x/Tutorials|CKEditor 3 Tutorials]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeMinDoc&amp;quot;&amp;gt;[[CKEditor 3.x/Accessibility Compliance|CKEditor 3 Accessibility Compliance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeDoc&amp;quot;&amp;gt;[[FCKeditor 2.x/Developers Guide|FCKeditor 2 Developer's Guide]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeDoc&amp;quot;&amp;gt;[[FCKeditor 2.x/Users Guide|FCKeditor 2 User's Guide]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li class=&amp;quot;homeSite&amp;quot;&amp;gt;[http://ckeditor.com/ CKEditor Web Site]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/Java/Integration&amp;diff=7327</id>
		<title>CKFinder 2.x/Developers Guide/Java/Integration</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/Java/Integration&amp;diff=7327"/>
				<updated>2014-02-20T11:56:50Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: /* Installing CKFinder as a JSP Page Tag */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:Integrating CKFinder}}&lt;br /&gt;
This article describes various ways of integrating CKFinder for Java with your page.&lt;br /&gt;
&lt;br /&gt;
== Integrating CKFinder with your Application ==&lt;br /&gt;
After you download the CKFinder for Java &amp;lt;code&amp;gt;.war&amp;lt;/code&amp;gt; file, follow the steps below to integrate it with your application:&lt;br /&gt;
* Unpack CKFinder for Java.&lt;br /&gt;
* Copy the &amp;lt;code&amp;gt;ckfinder&amp;lt;/code&amp;gt; folder to your application.&lt;br /&gt;
* Copy the CKFinder &amp;lt;code&amp;gt;config.xml&amp;lt;/code&amp;gt; file from its &amp;lt;code&amp;gt;WEB-INF&amp;lt;/code&amp;gt; folder into the &amp;lt;code&amp;gt;WEB-INF&amp;lt;/code&amp;gt; folder of your application.&lt;br /&gt;
* Copy the contents of the CKFinder &amp;lt;code&amp;gt;WEB-INF/lib&amp;lt;/code&amp;gt; folder into the &amp;lt;code&amp;gt;WEB-INF/lib&amp;lt;/code&amp;gt; folder of your application.&lt;br /&gt;
* Copy the &amp;lt;code&amp;gt;ConnectorServlet&amp;lt;/code&amp;gt; settings from the CKFinder &amp;lt;code&amp;gt;web.xml&amp;lt;/code&amp;gt; file to the &amp;lt;code&amp;gt;web.xml&amp;lt;/code&amp;gt; file of your application.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;servlet&amp;gt;&lt;br /&gt;
	&amp;lt;servlet-name&amp;gt;ConnectorServlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
	&amp;lt;servlet-class&amp;gt;com.ckfinder.connector.ConnectorServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
	&amp;lt;init-param&amp;gt;&lt;br /&gt;
		&amp;lt;param-name&amp;gt;XMLConfig&amp;lt;/param-name&amp;gt;&lt;br /&gt;
		&amp;lt;param-value&amp;gt;/WEB-INF/config.xml&amp;lt;/param-value&amp;gt;&lt;br /&gt;
	&amp;lt;/init-param&amp;gt;&lt;br /&gt;
	&amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;
&amp;lt;/servlet&amp;gt;&lt;br /&gt;
&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
	&amp;lt;servlet-name&amp;gt;ConnectorServlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
	&amp;lt;url-pattern&amp;gt;&lt;br /&gt;
		/ckfinder/core/connector/java/connector.java&lt;br /&gt;
	&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;lt;/servlet-mapping&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Just like in the sample application, by default CKFinder is disabled due to security reasons. To turn it on, change the &amp;lt;code&amp;gt;&amp;lt;enabled&amp;gt;&amp;lt;/code&amp;gt; element value in the &amp;lt;code&amp;gt;config.xml&amp;lt;/code&amp;gt; file to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. Note that it is recommended to use a more fine-grained authentication method by overriding the &amp;lt;code&amp;gt;checkAuthentication&amp;lt;/code&amp;gt; method.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Similarily, some further adjustments of the &amp;lt;code&amp;gt;config.xml&amp;lt;/code&amp;gt; file might be needed, like &amp;lt;code&amp;gt;baseUrl&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;baseDir&amp;lt;/code&amp;gt; paths, for example.&lt;br /&gt;
&lt;br /&gt;
==File Upload Filter==&lt;br /&gt;
&lt;br /&gt;
As described in the [[CKFinder_2.x/Developers_Guide/Java/Troubleshooting#Flash_Upload_Problem|Flash Upload Problem]] section of the Troubleshooting article, if you are using the Flash multiple file upload component together with session-based authentication, you might get some &amp;quot;missing cookies&amp;quot; problems when trying to upload files. To work around this Flash bug you have to take care of posting cookies yourself. On server side this is done by setting a &amp;lt;code&amp;gt;FileUploadFilter&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
	&amp;lt;filter-name&amp;gt;FileUploadFilter&amp;lt;/filter-name&amp;gt;&lt;br /&gt;
	&amp;lt;filter-class&amp;gt;com.ckfinder.connector.FileUploadFilter&amp;lt;/filter-class&amp;gt;&lt;br /&gt;
        &amp;lt;init-param&amp;gt;&lt;br /&gt;
              &amp;lt;param-name&amp;gt;sessionCookieName&amp;lt;/param-name&amp;gt;&lt;br /&gt;
              &amp;lt;param-value&amp;gt;JSESSIONID&amp;lt;/param-value&amp;gt;&lt;br /&gt;
        &amp;lt;/init-param&amp;gt;&lt;br /&gt;
        &amp;lt;init-param&amp;gt;&lt;br /&gt;
              &amp;lt;param-name&amp;gt;sessionParameterName&amp;lt;/param-name&amp;gt;&lt;br /&gt;
              &amp;lt;param-value&amp;gt;jsessionid&amp;lt;/param-value&amp;gt;&lt;br /&gt;
        &amp;lt;/init-param&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;filter-mapping&amp;gt;&lt;br /&gt;
	&amp;lt;filter-name&amp;gt;FileUploadFilter&amp;lt;/filter-name&amp;gt;&lt;br /&gt;
	&amp;lt;url-pattern&amp;gt;/ckfinder/core/connector/java/connector.java&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;lt;/filter-mapping&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Besides basic elements like name, full class declaration (&amp;lt;code&amp;gt;&amp;lt;filter-class&amp;gt;&amp;lt;/code&amp;gt;), and a mapping applying the filter to a specific URL (it has to be the same mapping as for &amp;lt;code&amp;gt;ConnectorServlet&amp;lt;/code&amp;gt;), there are also two optional configuration parameters which help to identify &amp;quot;authentication cookies&amp;quot; that need to be rewritten.&lt;br /&gt;
&lt;br /&gt;
Those parameters are the name of the session cookie (&amp;lt;code&amp;gt;sessionCookieName&amp;lt;/code&amp;gt;), which in Java defaults to the &amp;lt;code&amp;gt;JSESSIONID&amp;lt;/code&amp;gt; value, and the name of the session path parameter (&amp;lt;code&amp;gt;sessionParameterName&amp;lt;/code&amp;gt;), which in Java defaults to &amp;lt;code&amp;gt;jsessionid&amp;lt;/code&amp;gt;. These parameters are optional and can be omitted. However, if you are using custom configuration and you have changed names for these session identifiers on your server, you should also specify them in the &amp;lt;code&amp;gt;FileUploadFilter&amp;lt;/code&amp;gt; init parameters so that CKFinder would know what to rewrite.&lt;br /&gt;
&lt;br /&gt;
== Installing CKFinder as a JSP Page Tag ==&lt;br /&gt;
In order to install CKFinder as a tag inside a &amp;lt;code&amp;gt;.jsp&amp;lt;/code&amp;gt; page, follow the steps outlined below:&lt;br /&gt;
* Install CKFinder as described in the section above.&lt;br /&gt;
* In order to use the tag on the JSP page you should import the tag library by using the following directive:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ taglib uri=&amp;quot;http://cksource.com/ckfinder&amp;quot; prefix=&amp;quot;ckfinder&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now use the CKFinder tag on your JSP page in the following way:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ckfinder:ckfinder basePath=&amp;quot;/CKFinderJava/ckfinder/&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The only required attribute is the &amp;lt;code&amp;gt;basePath&amp;lt;/code&amp;gt; that specifies the path to the CKFinder folder. Numerous optional attributes are also available and can be used to customize CKFinder to your needs, like in the example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ckfinder:ckfinder basePath=&amp;quot;/CKFinderJava/ckfinder/&amp;quot; width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This code creates a CKFinder instance with a width of 700 pixels and height of 500 pixels.&lt;br /&gt;
&lt;br /&gt;
== Extending Configuration ==&lt;br /&gt;
To read more about extending your CKFinder configuration, refer to the [[CKFinder_2.x/Developers_Guide/Java/Configuration/Extending|Extending CKFinder Configuration]] article.&lt;br /&gt;
&lt;br /&gt;
== Integration methods ==&lt;br /&gt;
* [[/JavaScript|JavaScript integration]] &amp;amp;ndash; the preferred integration method, simple yet powerful.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=Template:Ckfinder_2.x_Thumbnail_Description&amp;diff=7324</id>
		<title>Template:Ckfinder 2.x Thumbnail Description</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=Template:Ckfinder_2.x_Thumbnail_Description&amp;diff=7324"/>
				<updated>2014-01-10T08:30:22Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* &amp;lt;code&amp;gt;maxWidth&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;maxHeight&amp;lt;/code&amp;gt; &amp;amp;ndash; determine the maximum size of the thumbnails which can appear in CKFinder. These values are defined in pixels. You can obviously increase them, but the thumbnails will then look more like  full-sized images than like miniatures.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;quality&amp;lt;/code&amp;gt; &amp;amp;ndash; sets the quality of a thumbnail in a range from &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;100&amp;lt;/code&amp;gt;. The smaller the quality value, the smaller the size of the thumbnail. Notice that an acceptable quality value is about &amp;lt;code&amp;gt;45&amp;lt;/code&amp;gt; and the most frequently used one is about &amp;lt;code&amp;gt;80&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;directAccess&amp;lt;/code&amp;gt; &amp;amp;ndash; this setting may increase the overall performance of CKFinder. By default, CKFinder connects to the server connector to get the thumbnail. It is not a problem in most cases, because the connector sends the &amp;lt;code&amp;gt;HTTP/304 Not Modified&amp;lt;/code&amp;gt; header most of the time to save the traffic and reduce server-side processing. However, sometimes it is better to leave cache control to the browser. When &amp;lt;code&amp;gt;directAccess&amp;lt;/code&amp;gt; is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, thumbnails are loaded directly from the &amp;lt;code&amp;gt;_thumbs&amp;lt;/code&amp;gt; folder by CKFinder. Note that it is impossible to use this setting, if the thumbnail directory is located outside the document root.&lt;br /&gt;
{{ #ifeq: {{{language}}} | php | * &amp;lt;code&amp;gt;bmpSupported&amp;lt;/code&amp;gt; is a setting available only in the '''PHP connector''', because the GD library in PHP does not support the &amp;lt;code&amp;gt;.bmp&amp;lt;/code&amp;gt; format. It is possible to enable support for &amp;lt;code&amp;gt;.bmp&amp;lt;/code&amp;gt; files in CKFinder. In this case CKFinder will use a special PHP class to manipulate such images. Because resizing of &amp;lt;code&amp;gt;.bmp&amp;lt;/code&amp;gt; files is relatively slow, this feature is disabled by default. }}&lt;br /&gt;
* You may disable thumbnails by placing the bool value &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; in the &amp;lt;code&amp;gt;enabled&amp;lt;/code&amp;gt; section.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=Template:Ckfinder_2.x_Built-in_Resource_Types_Notes&amp;diff=7314</id>
		<title>Template:Ckfinder 2.x Built-in Resource Types Notes</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=Template:Ckfinder_2.x_Built-in_Resource_Types_Notes&amp;diff=7314"/>
				<updated>2013-07-15T07:52:38Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;note&amp;gt;Flash files with &amp;lt;code&amp;gt;swf&amp;lt;/code&amp;gt; extension, just like HTML files, can be used to execute JavaScript code (and to e.g. perform an XSS attack). Grant permission to upload &amp;lt;code&amp;gt;.swf&amp;lt;/code&amp;gt; files only if you understand and can accept this risk.&amp;lt;/note&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=Template:Drupal_OS_Upgrade&amp;diff=7311</id>
		<title>Template:Drupal OS Upgrade</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=Template:Drupal_OS_Upgrade&amp;diff=7311"/>
				<updated>2013-04-16T13:49:52Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This instruction assumes that you are upgrading the CKEditor module ''[M]'' and CKEditor (the editor) ''[E]'' at the same time.&lt;br /&gt;
Instructions specific for module upgrades are tagged with ''[M]''. Steps that must be taken when upgrading CKEditor (the editor) are marked with ''[E]''.&lt;br /&gt;
&lt;br /&gt;
# ''[M]'' Download the latest version of the CKEditor module from http://drupal.org/project/ckeditor (it is advised to read the release notes before going further).&lt;br /&gt;
# ''[E]'' Download the latest version of CKEditor from http://ckeditor.com/download (it is advised to read the [http://ckeditor.com/whatsnew &amp;quot;What's New&amp;quot;] page before going further).&lt;br /&gt;
# ''[M]'' Back up your database.&lt;br /&gt;
# ''[EM]'' Place the site in the &amp;quot;Off-line&amp;quot; mode to let the database updates run without interruption and to avoid displaying errors to end users of the site.&lt;br /&gt;
# ''[E]'' If you are using CKFinder, make sure you do not delete it, and move it to a safe place.&lt;br /&gt;
# ''[E]'' If you introduced any changes (e.g. custom toolbar definitions etc.) in the &amp;lt;code&amp;gt;sites/all/modules/ckeditor/ckeditor.config.js&amp;lt;/code&amp;gt; file (or &amp;lt;code&amp;gt;sites/all/modules/ckeditor/ckeditor/config.js&amp;lt;/code&amp;gt;), write down your changes and add them again after uploading new files.&lt;br /&gt;
#; In general, try to avoid making any changes to CKEditor's &amp;lt;code&amp;gt;config.js/&amp;lt;code&amp;gt; file and add everything to &amp;lt;code&amp;gt;ckeditor.config.js&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Delete old files:&lt;br /&gt;
#; ''[EM]'' Simply remove the &amp;lt;code&amp;gt;modules/ckeditor&amp;lt;/code&amp;gt; directory if upgrading both the editor and the module.&lt;br /&gt;
#; ''[M]'' If you are upgrading the module only, remember to leave the &amp;lt;code&amp;gt;modules/ckeditor/ckeditor&amp;lt;/code&amp;gt; directory intact.&lt;br /&gt;
#; ''[E]'' When upgrading the editor, remove the contents of the &amp;lt;code&amp;gt;modules/ckeditor/ckeditor&amp;lt;/code&amp;gt; directory only.&lt;br /&gt;
#;  '''WARNING''': If you do not remove old files and just rename the &amp;lt;code&amp;gt;ckeditor&amp;lt;/code&amp;gt; directory instead (e.g. to &amp;lt;code&amp;gt;ckeditor_old&amp;lt;/code&amp;gt;), Drupal may use the module from the renamed &amp;lt;code&amp;gt;ckeditor_old&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
# ''[M]'' Upload the CKEditor module (extracted files and folders) to the &amp;lt;code&amp;gt;sites/all/modules&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
# ''[E]'' Upload standalone CKEditor (extracted files and folders from the &amp;lt;code&amp;gt;ckeditor&amp;lt;/code&amp;gt; directory) to the &amp;lt;code&amp;gt;sites/modules/ckeditor/ckeditor&amp;lt;/code&amp;gt; directory (i.e. where the &amp;lt;code&amp;gt;COPY HERE.txt&amp;lt;/code&amp;gt; file exists).&lt;br /&gt;
# ''[E]'' Restore the CKFinder files from where you copied them (see step 5).&lt;br /&gt;
# ''[E]'' Apply your modifications to default configuration in the &amp;lt;code&amp;gt;ckeditor.config.js&amp;lt;/code&amp;gt; file (see step 6).&lt;br /&gt;
# ''[M]'' Run &amp;lt;code&amp;gt;update.php&amp;lt;/code&amp;gt;.&lt;br /&gt;
# ''[EM]'' Put the site back online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;The &amp;lt;code&amp;gt;sites/all/libraries/ckeditor&amp;lt;/code&amp;gt; directory is the default and recommended path for standalone CKEditor files when &amp;lt;strong&amp;gt;drush&amp;lt;/strong&amp;gt; is used to download the editor JavaScript code. If you are using drush to upgrade CKEditor, all the contents of the &amp;lt;code&amp;gt;sites/all/modules/ckeditor/&amp;lt;/code&amp;gt; directory will be wiped, including the files for standalone editor if you placed them there.&amp;lt;/note&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=Template:Drupal_OS_Installation_Paths&amp;diff=7310</id>
		<title>Template:Drupal OS Installation Paths</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=Template:Drupal_OS_Installation_Paths&amp;diff=7310"/>
				<updated>2013-04-16T13:23:19Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It is recommended to install the CKEditor for Drupal module in the &amp;lt;code&amp;gt;sites/all/modules&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
When adding the files for standalone CKEditor and CKFinder, you can use one of the following directories:&lt;br /&gt;
* &amp;lt;code&amp;gt;sites/all/modules/ckeditor/&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sites/all/libraries/&amp;lt;/code&amp;gt;&lt;br /&gt;
and create a &amp;lt;code&amp;gt;ckeditor&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ckfinder&amp;lt;/code&amp;gt; directory inside.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;The &amp;lt;code&amp;gt;libraries&amp;lt;/code&amp;gt; directory is the default and recommended path when &amp;lt;strong&amp;gt;drush&amp;lt;/strong&amp;gt; is used to download the editor JavaScript code. If you are using drush to upgrade CKEditor in the future, all the contents of the &amp;lt;code&amp;gt;sites/all/modules/ckeditor/&amp;lt;/code&amp;gt; directory will be wiped, including the files for standalone editor.&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The CKEditor module will automatically recognize the proper path to the editor and the file browser.&lt;br /&gt;
&lt;br /&gt;
All installation and configuration instructions in this documentation assume that you use the first option and place the CKEditor and CKFinder files in the &amp;lt;code&amp;gt;sites/all/modules/ckeditor/&amp;lt;/code&amp;gt; directory. If you want to use the &amp;lt;code&amp;gt;sites/all/libraries/&amp;lt;/code&amp;gt; directory, you will need to adjust the paths given in the instructions accordingly.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Access_Control&amp;diff=7293</id>
		<title>CKFinder 2.x/Developers Guide/ASP.NET/Configuration/Access Control</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Access_Control&amp;diff=7293"/>
				<updated>2013-03-04T09:51:55Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: /* Folder and File Options */ Example headings added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{Ckfinder_2.x_Access_Control_Description|file=&amp;lt;code&amp;gt;config.ascx&amp;lt;/code&amp;gt;|AccessControl=AccessControl}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = true;&lt;br /&gt;
acl.FolderDelete = true;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = true;&lt;br /&gt;
acl.FileDelete = true;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
Basically, a single Access Control setting is defined in an instance of the &amp;lt;code&amp;gt;AccessControl&amp;lt;/code&amp;gt; class, created with the &amp;lt;code&amp;gt;AccessControl.Add()&amp;lt;/code&amp;gt; method.&lt;br /&gt;
&lt;br /&gt;
The most important (and required) properties of the &amp;lt;code&amp;gt;AccessControl&amp;lt;/code&amp;gt; objects are: &amp;lt;code&amp;gt;Role&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ResourceType&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Role Property ==&lt;br /&gt;
The &amp;lt;code&amp;gt;Role&amp;lt;/code&amp;gt; property sets the type of user defined by the ACL. If set to an asterisk (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;), it is treated as &amp;quot;all users&amp;quot;. You may set this parameter to other names like &amp;quot;Admin&amp;quot; or &amp;quot;Editor&amp;quot;. The name of the user type will be directly connected to the function the user is allowed to use. See [[#RoleSessionVar|RoleSessionVar]] for more information.&lt;br /&gt;
&lt;br /&gt;
== ResourceType Property  ==&lt;br /&gt;
The &amp;lt;code&amp;gt;ResourceType&amp;lt;/code&amp;gt; property defines the resource type related to a specific ACL setting. See the [[CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Resource_Types|Resource Types]] section for more information.&lt;br /&gt;
&lt;br /&gt;
If this property is set to an asterisk (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;), the defined ACL is valid for all resource settings definined in the configuration file.&lt;br /&gt;
&lt;br /&gt;
== Folder Property  ==&lt;br /&gt;
You can apply ACL settings to specific folders by using the &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt; property. Just set it to the folder path. The settings will be recursivelly applied to all folders inside that path.&lt;br /&gt;
&lt;br /&gt;
== Folder and File Options ==&lt;br /&gt;
All other properties are related to specific features to enable/disable by the ACL setting. Just set them to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; according to your needs. Setting an option to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; enables it, while setting it to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; disables it.&lt;br /&gt;
&lt;br /&gt;
== Access Control List Examples ==&lt;br /&gt;
Have a look at the following examples that present various permission configurations in order to learn more about using Access Control Lists in CKFinder.&lt;br /&gt;
&lt;br /&gt;
=== Example 1 === &lt;br /&gt;
Add the following configuration code if you want to restrict the user to upload, rename, or delete files in the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; folder of the &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; resource type:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;Images&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/Company/Logos/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FileUpload = false;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we are reusing the previously defined &amp;lt;code&amp;gt;acl&amp;lt;/code&amp;gt; variable. You may use as many &amp;lt;code&amp;gt;AccessControl.Add()&amp;lt;/code&amp;gt; calls as you wish.&lt;br /&gt;
&lt;br /&gt;
The above example only refers to file operations inside the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; folder and all its child folders. It does not restrict operations on the folder so the user can delete or rename the folder.&lt;br /&gt;
&lt;br /&gt;
=== Example 2 ===&lt;br /&gt;
In order to restrict users from modifying the folder (not its contents) you should change the permissions in its parent folder. For example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;Images&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/Company/&amp;quot; &lt;br /&gt;
&lt;br /&gt;
folderCreate = true;&lt;br /&gt;
folderRename = false;&lt;br /&gt;
folderDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Now a user can view and create a folder, but will not be unable to rename or delete it. This is the best way to secure your folders from unauthorized access.&lt;br /&gt;
&lt;br /&gt;
== More About Folder Path&amp;lt;br&amp;gt;==&lt;br /&gt;
In the first example above the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; path was used in the ACL definition. It is rather obvious that this is not an absolute path to a folder on the server.&lt;br /&gt;
&lt;br /&gt;
Let us assume that the absolute path on the server to the application folder is &amp;lt;code&amp;gt;/sites/example.com/&amp;lt;/code&amp;gt; and the path to the &amp;lt;code&amp;gt;userfiles&amp;lt;/code&amp;gt; folder is &amp;lt;code&amp;gt;/sites/example.com/userfiles/&amp;lt;/code&amp;gt;.There is also the &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; resource type which in this case points to &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Knowing the above we will define the correct path for the &amp;lt;code&amp;gt;Logos&amp;lt;/code&amp;gt; folder located in &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/Company/Logos&amp;lt;/code&amp;gt;.  The key is to define a '''path relative to resource type''' (in this case the resource type is &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; pointing to &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/&amp;lt;/code&amp;gt;), thus the value that needs to be assigned to the ACL &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt; property is &amp;lt;code&amp;gt;/Company/Logos/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If ACL for both &amp;lt;code&amp;gt;Company&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Logos&amp;lt;/code&amp;gt; folders need to be defined, it is enough to assign just the &amp;lt;code&amp;gt;/Company&amp;lt;/code&amp;gt; path.&lt;br /&gt;
&lt;br /&gt;
Please also note that: &lt;br /&gt;
* The folder path has to start from a slash character. &lt;br /&gt;
* If you use a wildcard for a resource type (&amp;lt;code&amp;gt;acl.ResourceType = &amp;quot;*&amp;quot;;&amp;lt;/code&amp;gt;), CKFinder will look through all resource types and apply ACL to every folder that matches the rule, for example &amp;lt;code&amp;gt;Files:/Company/Logos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Flash:/Company/Logos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== RoleSessionVar ==&lt;br /&gt;
CKFinder uses the server-side session to identify the current user role. In order to enable the Access Control settings for different users, you should initialize a session variable when the user logs into your system.&lt;br /&gt;
&lt;br /&gt;
To pass the name of the session variable to identify the user role to CKFinder, use the &amp;lt;code&amp;gt;RoleSessionVar&amp;lt;/code&amp;gt; setting. For example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;RoleSessionVar = &amp;quot;CKFinder_UserRole&amp;quot;;&amp;lt;/source&amp;gt; &lt;br /&gt;
In the above example, the &amp;lt;code&amp;gt;CKFinder_UserRole&amp;lt;/code&amp;gt; session variable value will be used to match the ACL entries defined previously. See the [[#Role Parameter|Role Parameter]] section above.&lt;br /&gt;
&lt;br /&gt;
For example, in the &amp;lt;code&amp;gt;config.ascx&amp;lt;/code&amp;gt; file you may assign the following three different roles:&lt;br /&gt;
&lt;br /&gt;
The '''Admin''' role that has full permissions:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;Admin&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = true;&lt;br /&gt;
acl.FolderDelete = true;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = true;&lt;br /&gt;
acl.FileDelete = true;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The '''User''' role that cannot rename or delete neither files nor folders:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;User&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = false;&lt;br /&gt;
acl.FolderDelete = false;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The '''Guest''' role that can only view the folders contents:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;Guest&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = false;&lt;br /&gt;
acl.FolderRename = false;&lt;br /&gt;
acl.FolderDelete = false;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = false;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Access_Control&amp;diff=7292</id>
		<title>CKFinder 2.x/Developers Guide/ASP.NET/Configuration/Access Control</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Access_Control&amp;diff=7292"/>
				<updated>2013-03-04T09:46:11Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: /* More About Folder Path */ Minor adjustments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{Ckfinder_2.x_Access_Control_Description|file=&amp;lt;code&amp;gt;config.ascx&amp;lt;/code&amp;gt;|AccessControl=AccessControl}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = true;&lt;br /&gt;
acl.FolderDelete = true;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = true;&lt;br /&gt;
acl.FileDelete = true;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
Basically, a single Access Control setting is defined in an instance of the &amp;lt;code&amp;gt;AccessControl&amp;lt;/code&amp;gt; class, created with the &amp;lt;code&amp;gt;AccessControl.Add()&amp;lt;/code&amp;gt; method.&lt;br /&gt;
&lt;br /&gt;
The most important (and required) properties of the &amp;lt;code&amp;gt;AccessControl&amp;lt;/code&amp;gt; objects are: &amp;lt;code&amp;gt;Role&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ResourceType&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Role Property ==&lt;br /&gt;
The &amp;lt;code&amp;gt;Role&amp;lt;/code&amp;gt; property sets the type of user defined by the ACL. If set to an asterisk (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;), it is treated as &amp;quot;all users&amp;quot;. You may set this parameter to other names like &amp;quot;Admin&amp;quot; or &amp;quot;Editor&amp;quot;. The name of the user type will be directly connected to the function the user is allowed to use. See [[#RoleSessionVar|RoleSessionVar]] for more information.&lt;br /&gt;
&lt;br /&gt;
== ResourceType Property  ==&lt;br /&gt;
The &amp;lt;code&amp;gt;ResourceType&amp;lt;/code&amp;gt; property defines the resource type related to a specific ACL setting. See the [[CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Resource_Types|Resource Types]] section for more information.&lt;br /&gt;
&lt;br /&gt;
If this property is set to an asterisk (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;), the defined ACL is valid for all resource settings definined in the configuration file.&lt;br /&gt;
&lt;br /&gt;
== Folder Property  ==&lt;br /&gt;
You can apply ACL settings to specific folders by using the &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt; property. Just set it to the folder path. The settings will be recursivelly applied to all folders inside that path.&lt;br /&gt;
&lt;br /&gt;
== Folder and File Options ==&lt;br /&gt;
All other properties are related to specific features to enable/disable by the ACL setting. Just set them to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; according to your needs. Setting an option to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; enables it, while setting it to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; disables it.&lt;br /&gt;
&lt;br /&gt;
For example, just add the following configuration code if you want to restrict the user to upload, rename, or delete files in the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; folder of the &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; resource type:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;Images&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/Company/Logos/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FileUpload = false;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we are reusing the previously defined &amp;lt;code&amp;gt;acl&amp;lt;/code&amp;gt; variable. You may use as many &amp;lt;code&amp;gt;AccessControl.Add()&amp;lt;/code&amp;gt; calls as you wish.&lt;br /&gt;
&lt;br /&gt;
The above example only refers to file operations inside the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; folder and all its child folders. It does not restrict operations on the folder so the user can delete or rename the folder.&lt;br /&gt;
&lt;br /&gt;
In order to restrict users from modifying the folder (not its contents) you should change the permissions in its parent folder. For example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;Images&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/Company/&amp;quot; &lt;br /&gt;
&lt;br /&gt;
folderCreate = true;&lt;br /&gt;
folderRename = false;&lt;br /&gt;
folderDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Now a user can view and create a folder, but will not be unable to rename or delete it. This is the best way to secure your folders from unauthorized access.&lt;br /&gt;
&lt;br /&gt;
== More About Folder Path&amp;lt;br&amp;gt;==&lt;br /&gt;
In the first example above the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; path was used in the ACL definition. It is rather obvious that this is not an absolute path to a folder on the server.&lt;br /&gt;
&lt;br /&gt;
Let us assume that the absolute path on the server to the application folder is &amp;lt;code&amp;gt;/sites/example.com/&amp;lt;/code&amp;gt; and the path to the &amp;lt;code&amp;gt;userfiles&amp;lt;/code&amp;gt; folder is &amp;lt;code&amp;gt;/sites/example.com/userfiles/&amp;lt;/code&amp;gt;.There is also the &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; resource type which in this case points to &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Knowing the above we will define the correct path for the &amp;lt;code&amp;gt;Logos&amp;lt;/code&amp;gt; folder located in &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/Company/Logos&amp;lt;/code&amp;gt;.  The key is to define a '''path relative to resource type''' (in this case the resource type is &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; pointing to &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/&amp;lt;/code&amp;gt;), thus the value that needs to be assigned to the ACL &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt; property is &amp;lt;code&amp;gt;/Company/Logos/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If ACL for both &amp;lt;code&amp;gt;Company&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Logos&amp;lt;/code&amp;gt; folders need to be defined, it is enough to assign just the &amp;lt;code&amp;gt;/Company&amp;lt;/code&amp;gt; path.&lt;br /&gt;
&lt;br /&gt;
Please also note that: &lt;br /&gt;
* The folder path has to start from a slash character. &lt;br /&gt;
* If you use a wildcard for a resource type (&amp;lt;code&amp;gt;acl.ResourceType = &amp;quot;*&amp;quot;;&amp;lt;/code&amp;gt;), CKFinder will look through all resource types and apply ACL to every folder that matches the rule, for example &amp;lt;code&amp;gt;Files:/Company/Logos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Flash:/Company/Logos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== RoleSessionVar ==&lt;br /&gt;
CKFinder uses the server-side session to identify the current user role. In order to enable the Access Control settings for different users, you should initialize a session variable when the user logs into your system.&lt;br /&gt;
&lt;br /&gt;
To pass the name of the session variable to identify the user role to CKFinder, use the &amp;lt;code&amp;gt;RoleSessionVar&amp;lt;/code&amp;gt; setting. For example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;RoleSessionVar = &amp;quot;CKFinder_UserRole&amp;quot;;&amp;lt;/source&amp;gt; &lt;br /&gt;
In the above example, the &amp;lt;code&amp;gt;CKFinder_UserRole&amp;lt;/code&amp;gt; session variable value will be used to match the ACL entries defined previously. See the [[#Role Parameter|Role Parameter]] section above.&lt;br /&gt;
&lt;br /&gt;
For example, in the &amp;lt;code&amp;gt;config.ascx&amp;lt;/code&amp;gt; file you may assign the following three different roles:&lt;br /&gt;
&lt;br /&gt;
The '''Admin''' role that has full permissions:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;Admin&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = true;&lt;br /&gt;
acl.FolderDelete = true;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = true;&lt;br /&gt;
acl.FileDelete = true;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The '''User''' role that cannot rename or delete neither files nor folders:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;User&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = false;&lt;br /&gt;
acl.FolderDelete = false;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The '''Guest''' role that can only view the folders contents:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;Guest&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = false;&lt;br /&gt;
acl.FolderRename = false;&lt;br /&gt;
acl.FolderDelete = false;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = false;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Access_Control&amp;diff=7291</id>
		<title>CKFinder 2.x/Developers Guide/ASP.NET/Configuration/Access Control</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Access_Control&amp;diff=7291"/>
				<updated>2013-03-04T09:45:40Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: /* More About Folder Path */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{Ckfinder_2.x_Access_Control_Description|file=&amp;lt;code&amp;gt;config.ascx&amp;lt;/code&amp;gt;|AccessControl=AccessControl}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = true;&lt;br /&gt;
acl.FolderDelete = true;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = true;&lt;br /&gt;
acl.FileDelete = true;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
Basically, a single Access Control setting is defined in an instance of the &amp;lt;code&amp;gt;AccessControl&amp;lt;/code&amp;gt; class, created with the &amp;lt;code&amp;gt;AccessControl.Add()&amp;lt;/code&amp;gt; method.&lt;br /&gt;
&lt;br /&gt;
The most important (and required) properties of the &amp;lt;code&amp;gt;AccessControl&amp;lt;/code&amp;gt; objects are: &amp;lt;code&amp;gt;Role&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ResourceType&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Role Property ==&lt;br /&gt;
The &amp;lt;code&amp;gt;Role&amp;lt;/code&amp;gt; property sets the type of user defined by the ACL. If set to an asterisk (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;), it is treated as &amp;quot;all users&amp;quot;. You may set this parameter to other names like &amp;quot;Admin&amp;quot; or &amp;quot;Editor&amp;quot;. The name of the user type will be directly connected to the function the user is allowed to use. See [[#RoleSessionVar|RoleSessionVar]] for more information.&lt;br /&gt;
&lt;br /&gt;
== ResourceType Property  ==&lt;br /&gt;
The &amp;lt;code&amp;gt;ResourceType&amp;lt;/code&amp;gt; property defines the resource type related to a specific ACL setting. See the [[CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Resource_Types|Resource Types]] section for more information.&lt;br /&gt;
&lt;br /&gt;
If this property is set to an asterisk (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;), the defined ACL is valid for all resource settings definined in the configuration file.&lt;br /&gt;
&lt;br /&gt;
== Folder Property  ==&lt;br /&gt;
You can apply ACL settings to specific folders by using the &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt; property. Just set it to the folder path. The settings will be recursivelly applied to all folders inside that path.&lt;br /&gt;
&lt;br /&gt;
== Folder and File Options ==&lt;br /&gt;
All other properties are related to specific features to enable/disable by the ACL setting. Just set them to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; according to your needs. Setting an option to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; enables it, while setting it to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; disables it.&lt;br /&gt;
&lt;br /&gt;
For example, just add the following configuration code if you want to restrict the user to upload, rename, or delete files in the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; folder of the &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; resource type:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;Images&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/Company/Logos/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FileUpload = false;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we are reusing the previously defined &amp;lt;code&amp;gt;acl&amp;lt;/code&amp;gt; variable. You may use as many &amp;lt;code&amp;gt;AccessControl.Add()&amp;lt;/code&amp;gt; calls as you wish.&lt;br /&gt;
&lt;br /&gt;
The above example only refers to file operations inside the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; folder and all its child folders. It does not restrict operations on the folder so the user can delete or rename the folder.&lt;br /&gt;
&lt;br /&gt;
In order to restrict users from modifying the folder (not its contents) you should change the permissions in its parent folder. For example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;Images&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/Company/&amp;quot; &lt;br /&gt;
&lt;br /&gt;
folderCreate = true;&lt;br /&gt;
folderRename = false;&lt;br /&gt;
folderDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Now a user can view and create a folder, but will not be unable to rename or delete it. This is the best way to secure your folders from unauthorized access.&lt;br /&gt;
&lt;br /&gt;
== More About Folder Path&amp;lt;br&amp;gt;==&lt;br /&gt;
In the first example above the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; path was used in the ACL definition. It is rather obvious that this is not an absolute path to folder on server.&lt;br /&gt;
&lt;br /&gt;
Let us assume that the absolute path on the server to the application folder is &amp;lt;code&amp;gt;/sites/example.com/&amp;lt;/code&amp;gt; and the path to the &amp;lt;code&amp;gt;userfiles&amp;lt;/code&amp;gt; folder is &amp;lt;code&amp;gt;/sites/example.com/userfiles/&amp;lt;/code&amp;gt;.There is also the &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; resource type which in this case points to &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Knowing the above we will define the correct path for the &amp;lt;code&amp;gt;Logos&amp;lt;/code&amp;gt; folder located in &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/Company/Logos&amp;lt;/code&amp;gt;.  The key is to define a '''path relative to resource type''' (in this case the resource type is &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; pointing to &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/&amp;lt;/code&amp;gt;), thus the value that needs to be assigned to the ACL &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt; property is &amp;lt;code&amp;gt;/Company/Logos/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If ACL for both &amp;lt;code&amp;gt;Company&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Logos&amp;lt;/code&amp;gt; folders need to be defined, it is enough to assign just the &amp;lt;code&amp;gt;/Company&amp;lt;/code&amp;gt; path.&lt;br /&gt;
&lt;br /&gt;
Please also note that: &lt;br /&gt;
* The folder path has to start from a slash character. &lt;br /&gt;
* If you use a wildcard for a resource type (&amp;lt;code&amp;gt;acl.ResourceType = &amp;quot;*&amp;quot;;&amp;lt;/code&amp;gt;), CKFinder will look through all resource types and apply ACL to every folder that matches the rule, for example &amp;lt;code&amp;gt;Files:/Company/Logos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Flash:/Company/Logos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== RoleSessionVar ==&lt;br /&gt;
CKFinder uses the server-side session to identify the current user role. In order to enable the Access Control settings for different users, you should initialize a session variable when the user logs into your system.&lt;br /&gt;
&lt;br /&gt;
To pass the name of the session variable to identify the user role to CKFinder, use the &amp;lt;code&amp;gt;RoleSessionVar&amp;lt;/code&amp;gt; setting. For example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;RoleSessionVar = &amp;quot;CKFinder_UserRole&amp;quot;;&amp;lt;/source&amp;gt; &lt;br /&gt;
In the above example, the &amp;lt;code&amp;gt;CKFinder_UserRole&amp;lt;/code&amp;gt; session variable value will be used to match the ACL entries defined previously. See the [[#Role Parameter|Role Parameter]] section above.&lt;br /&gt;
&lt;br /&gt;
For example, in the &amp;lt;code&amp;gt;config.ascx&amp;lt;/code&amp;gt; file you may assign the following three different roles:&lt;br /&gt;
&lt;br /&gt;
The '''Admin''' role that has full permissions:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;Admin&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = true;&lt;br /&gt;
acl.FolderDelete = true;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = true;&lt;br /&gt;
acl.FileDelete = true;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The '''User''' role that cannot rename or delete neither files nor folders:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;User&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = false;&lt;br /&gt;
acl.FolderDelete = false;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The '''Guest''' role that can only view the folders contents:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;Guest&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = false;&lt;br /&gt;
acl.FolderRename = false;&lt;br /&gt;
acl.FolderDelete = false;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = false;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Access_Control&amp;diff=7290</id>
		<title>CKFinder 2.x/Developers Guide/ASP.NET/Configuration/Access Control</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Access_Control&amp;diff=7290"/>
				<updated>2013-03-04T09:42:15Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Template for intro added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{Ckfinder_2.x_Access_Control_Description|file=&amp;lt;code&amp;gt;config.ascx&amp;lt;/code&amp;gt;|AccessControl=AccessControl}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = true;&lt;br /&gt;
acl.FolderDelete = true;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = true;&lt;br /&gt;
acl.FileDelete = true;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
Basically, a single Access Control setting is defined in an instance of the &amp;lt;code&amp;gt;AccessControl&amp;lt;/code&amp;gt; class, created with the &amp;lt;code&amp;gt;AccessControl.Add()&amp;lt;/code&amp;gt; method.&lt;br /&gt;
&lt;br /&gt;
The most important (and required) properties of the &amp;lt;code&amp;gt;AccessControl&amp;lt;/code&amp;gt; objects are: &amp;lt;code&amp;gt;Role&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ResourceType&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Role Property ==&lt;br /&gt;
The &amp;lt;code&amp;gt;Role&amp;lt;/code&amp;gt; property sets the type of user defined by the ACL. If set to an asterisk (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;), it is treated as &amp;quot;all users&amp;quot;. You may set this parameter to other names like &amp;quot;Admin&amp;quot; or &amp;quot;Editor&amp;quot;. The name of the user type will be directly connected to the function the user is allowed to use. See [[#RoleSessionVar|RoleSessionVar]] for more information.&lt;br /&gt;
&lt;br /&gt;
== ResourceType Property  ==&lt;br /&gt;
The &amp;lt;code&amp;gt;ResourceType&amp;lt;/code&amp;gt; property defines the resource type related to a specific ACL setting. See the [[CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Resource_Types|Resource Types]] section for more information.&lt;br /&gt;
&lt;br /&gt;
If this property is set to an asterisk (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;), the defined ACL is valid for all resource settings definined in the configuration file.&lt;br /&gt;
&lt;br /&gt;
== Folder Property  ==&lt;br /&gt;
You can apply ACL settings to specific folders by using the &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt; property. Just set it to the folder path. The settings will be recursivelly applied to all folders inside that path.&lt;br /&gt;
&lt;br /&gt;
== Folder and File Options ==&lt;br /&gt;
All other properties are related to specific features to enable/disable by the ACL setting. Just set them to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; according to your needs. Setting an option to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; enables it, while setting it to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; disables it.&lt;br /&gt;
&lt;br /&gt;
For example, just add the following configuration code if you want to restrict the user to upload, rename, or delete files in the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; folder of the &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; resource type:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;Images&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/Company/Logos/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FileUpload = false;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we are reusing the previously defined &amp;lt;code&amp;gt;acl&amp;lt;/code&amp;gt; variable. You may use as many &amp;lt;code&amp;gt;AccessControl.Add()&amp;lt;/code&amp;gt; calls as you wish.&lt;br /&gt;
&lt;br /&gt;
The above example only refers to file operations inside the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; folder and all its child folders. It does not restrict operations on the folder so the user can delete or rename the folder.&lt;br /&gt;
&lt;br /&gt;
In order to restrict users from modifying the folder (not its contents) you should change the permissions in its parent folder. For example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;Images&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/Company/&amp;quot; &lt;br /&gt;
&lt;br /&gt;
folderCreate = true;&lt;br /&gt;
folderRename = false;&lt;br /&gt;
folderDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Now a user can view and create a folder, but will not be unable to rename or delete it. This is the best way to secure your folders from unauthorized access.&lt;br /&gt;
&lt;br /&gt;
== More About Folder Path&amp;lt;br&amp;gt;==&lt;br /&gt;
In the example above the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; path was used in the ACL definition. It is rather obvious that this is not an absolute path to folder on server.&lt;br /&gt;
&lt;br /&gt;
Let us assume that the absolute path on the server to the application folder is &amp;lt;code&amp;gt;/sites/example.com/&amp;lt;/code&amp;gt; and the path to the &amp;lt;code&amp;gt;userfiles&amp;lt;/code&amp;gt; folder is &amp;lt;code&amp;gt;/sites/example.com/userfiles/&amp;lt;/code&amp;gt;.There is also the &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; resource type which in this case points to &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Knowing the above we will define the correct path for the &amp;lt;code&amp;gt;Logos&amp;lt;/code&amp;gt; folder located in &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/Company/Logos&amp;lt;/code&amp;gt;.  The key is to define a '''path relative to resource type''' (in this case the resource type is &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; pointing to &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/&amp;lt;/code&amp;gt;), thus the value that needs to be assigned to the ACL &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt; property is &amp;lt;code&amp;gt;/Company/Logos/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If ACL for both &amp;lt;code&amp;gt;Company&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Logos&amp;lt;/code&amp;gt; folders need to be defined, it is enough to assign just the &amp;lt;code&amp;gt;/Company&amp;lt;/code&amp;gt; path.&lt;br /&gt;
&lt;br /&gt;
Please also note that: &lt;br /&gt;
* The folder path has to start from a slash character. &lt;br /&gt;
* If you use a wildcard for a resource type (&amp;lt;code&amp;gt;acl.ResourceType = &amp;quot;*&amp;quot;;&amp;lt;/code&amp;gt;), CKFinder will look through all resource types and apply ACL to every folder that matches the rule, for example &amp;lt;code&amp;gt;Files:/Company/Logos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Flash:/Company/Logos&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== RoleSessionVar ==&lt;br /&gt;
CKFinder uses the server-side session to identify the current user role. In order to enable the Access Control settings for different users, you should initialize a session variable when the user logs into your system.&lt;br /&gt;
&lt;br /&gt;
To pass the name of the session variable to identify the user role to CKFinder, use the &amp;lt;code&amp;gt;RoleSessionVar&amp;lt;/code&amp;gt; setting. For example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;RoleSessionVar = &amp;quot;CKFinder_UserRole&amp;quot;;&amp;lt;/source&amp;gt; &lt;br /&gt;
In the above example, the &amp;lt;code&amp;gt;CKFinder_UserRole&amp;lt;/code&amp;gt; session variable value will be used to match the ACL entries defined previously. See the [[#Role Parameter|Role Parameter]] section above.&lt;br /&gt;
&lt;br /&gt;
For example, in the &amp;lt;code&amp;gt;config.ascx&amp;lt;/code&amp;gt; file you may assign the following three different roles:&lt;br /&gt;
&lt;br /&gt;
The '''Admin''' role that has full permissions:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;Admin&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = true;&lt;br /&gt;
acl.FolderDelete = true;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = true;&lt;br /&gt;
acl.FileDelete = true;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The '''User''' role that cannot rename or delete neither files nor folders:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;User&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = false;&lt;br /&gt;
acl.FolderDelete = false;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The '''Guest''' role that can only view the folders contents:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;Guest&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = false;&lt;br /&gt;
acl.FolderRename = false;&lt;br /&gt;
acl.FolderDelete = false;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = false;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=Template:Ckfinder_2.x_Access_Control_Description&amp;diff=7289</id>
		<title>Template:Ckfinder 2.x Access Control Description</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=Template:Ckfinder_2.x_Access_Control_Description&amp;diff=7289"/>
				<updated>2013-03-04T09:40:02Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Minor correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:Defining Access Control}}&lt;br /&gt;
&lt;br /&gt;
Access Control List (ACL) is a method to grant your users different permissions for working with CKFinder folders and files. The default settings placed in the {{{file}}} file grant full permissions for all options to every user.&lt;br /&gt;
&lt;br /&gt;
In order to change this configuration option you should learn the basics of the &amp;lt;code&amp;gt;{{{AccessControl}}}&amp;lt;/code&amp;gt; settings placed in the configuration file.&lt;br /&gt;
&lt;br /&gt;
== Access Control List Syntax ==&lt;br /&gt;
The syntax of the ACL entries is as follows:&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Access_Control&amp;diff=7288</id>
		<title>CKFinder 2.x/Developers Guide/ASP.NET/Configuration/Access Control</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Access_Control&amp;diff=7288"/>
				<updated>2013-03-04T08:50:28Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Text proof-read&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
By using Access Control Lists (ACL) you can give your users different permissions while working on folders and files. The default settings in the &amp;lt;code&amp;gt;config.ascx&amp;lt;/code&amp;gt; file give full permissions to all users. In order to change this configuration you should understand the basics of the &amp;lt;code&amp;gt;AccessControl&amp;lt;/code&amp;gt; settings, which can be found in the &amp;lt;code&amp;gt;config.ascx&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
This is the syntax for these settings:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = true;&lt;br /&gt;
acl.FolderDelete = true;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = true;&lt;br /&gt;
acl.FileDelete = true;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
Basically, a single Access Control setting is defined in an instance of the &amp;lt;code&amp;gt;AccessControl&amp;lt;/code&amp;gt; class, created with the &amp;lt;code&amp;gt;AccessControl.Add()&amp;lt;/code&amp;gt; method.&lt;br /&gt;
&lt;br /&gt;
The most important (and required) properties of the &amp;lt;code&amp;gt;AccessControl&amp;lt;/code&amp;gt; objects are: &amp;lt;code&amp;gt;Role&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ResourceType&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Role Property ==&lt;br /&gt;
The &amp;lt;code&amp;gt;Role&amp;lt;/code&amp;gt; property sets the type of user defined by the ACL. If set to an asterisk (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;), it is treated as &amp;quot;all users&amp;quot;. You may set this parameter to other names like &amp;quot;Admin&amp;quot; or &amp;quot;Editor&amp;quot;. The name of the user type will be directly connected to the function the user is allowed to use. See [[#RoleSessionVar|RoleSessionVar]] for more information.&lt;br /&gt;
&lt;br /&gt;
== ResourceType Property  ==&lt;br /&gt;
The &amp;lt;code&amp;gt;ResourceType&amp;lt;/code&amp;gt; property defines the resource type related to a specific ACL setting. See the [[CKFinder_2.x/Developers_Guide/ASP.NET/Configuration/Resource_Types|Resource Types]] section for more information.&lt;br /&gt;
&lt;br /&gt;
If this property is set to an asterisk (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;), the defined ACL is valid for all resource settings definined in the configuration file.&lt;br /&gt;
&lt;br /&gt;
== Folder Property  ==&lt;br /&gt;
You can apply ACL settings to specific folders by using the &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt; property. Just set it to the folder path. The settings will be recursivelly applied to all folders inside that path.&lt;br /&gt;
&lt;br /&gt;
== Folder and File Options ==&lt;br /&gt;
All other properties are related to specific features to enable/disable by the ACL setting. Just set them to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; according to your needs. Setting an option to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; enables it, while setting it to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; disables it.&lt;br /&gt;
&lt;br /&gt;
For example, just add the following configuration code if you want to restrict the user to upload, rename, or delete files in the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; folder of the &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; resource type:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;Images&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/Company/Logos/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FileUpload = false;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we are reusing the previously defined &amp;lt;code&amp;gt;acl&amp;lt;/code&amp;gt; variable. You may use as many &amp;lt;code&amp;gt;AccessControl.Add()&amp;lt;/code&amp;gt; calls as you wish.&lt;br /&gt;
&lt;br /&gt;
The above example only refers to file operations inside the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; folder and all its child folders. It does not restrict operations on the folder so the user can delete or rename the folder.&lt;br /&gt;
&lt;br /&gt;
In order to restrict users from modifying the folder (not its contents) you should change the permissions in its parent folder. For example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;Images&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/Company/&amp;quot; &lt;br /&gt;
&lt;br /&gt;
folderCreate = true;&lt;br /&gt;
folderRename = false;&lt;br /&gt;
folderDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Now a user can view and create a folder, but will not be unable to rename or delete it. This is the best way to secure your folders from unauthorized access.&lt;br /&gt;
&lt;br /&gt;
== More About Folder Path&amp;lt;br&amp;gt;==&lt;br /&gt;
In the example above the &amp;lt;code&amp;gt;/Company/Logos&amp;lt;/code&amp;gt; path was used in the ACL definition. It is rather obvious that this is not an absolute path to folder on server.&lt;br /&gt;
&lt;br /&gt;
Let us assume that the absolute path on the server to the application folder is &amp;lt;code&amp;gt;/sites/example.com/&amp;lt;/code&amp;gt; and the path to the &amp;lt;code&amp;gt;userfiles&amp;lt;/code&amp;gt; folder is &amp;lt;code&amp;gt;/sites/example.com/userfiles/&amp;lt;/code&amp;gt;.There is also the &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; resource type which in this case points to &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Knowing the above we will define the correct path for the &amp;lt;code&amp;gt;Logos&amp;lt;/code&amp;gt; folder located in &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/Company/Logos&amp;lt;/code&amp;gt;.  The key is to define a '''path relative to resource type''' (in this case the resource type is &amp;lt;code&amp;gt;Images&amp;lt;/code&amp;gt; pointing to &amp;lt;code&amp;gt;/sites/example.com/userfiles/images/&amp;lt;/code&amp;gt;), thus the value that needs to be assigned to the ACL &amp;lt;code&amp;gt;Folder&amp;lt;/code&amp;gt; property is &amp;lt;code&amp;gt;/Company/Logos/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If ACL for both &amp;lt;code&amp;gt;Company&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Logos&amp;lt;/code&amp;gt; folders need to be defined, it is enough to assign just the &amp;lt;code&amp;gt;/Company&amp;lt;/code&amp;gt; path.&lt;br /&gt;
&lt;br /&gt;
Please also note that: &lt;br /&gt;
* The folder path has to start from a slash character. &lt;br /&gt;
* If you use a wildcard for a resource type (&amp;lt;code&amp;gt;acl.ResourceType = &amp;quot;*&amp;quot;;&amp;lt;/code&amp;gt;), CKFinder will look through all resource types and apply ACL to every folder that matches the rule, for example &amp;lt;code&amp;gt;Files:/Company/Logos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Flash:/Company/Logos&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== RoleSessionVar ==&lt;br /&gt;
CKFinder uses the server-side session to identify the current user role. In order to enable the Access Control settings for different users, you should initialize a session variable when the user logs into your system.&lt;br /&gt;
&lt;br /&gt;
To pass the name of the session variable to identify the user role to CKFinder, use the &amp;lt;code&amp;gt;RoleSessionVar&amp;lt;/code&amp;gt; setting. For example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;RoleSessionVar = &amp;quot;CKFinder_UserRole&amp;quot;;&amp;lt;/source&amp;gt; &lt;br /&gt;
In the above example, the &amp;lt;code&amp;gt;CKFinder_UserRole&amp;lt;/code&amp;gt; session variable value will be used to match the ACL entries defined previously. See the [[#Role Parameter|Role Parameter]] section above.&lt;br /&gt;
&lt;br /&gt;
For example, in the &amp;lt;code&amp;gt;config.ascx&amp;lt;/code&amp;gt; file you may assign the following three different roles:&lt;br /&gt;
&lt;br /&gt;
The '''Admin''' role that has full permissions:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;Admin&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = true;&lt;br /&gt;
acl.FolderDelete = true;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = true;&lt;br /&gt;
acl.FileDelete = true;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The '''User''' role that cannot rename or delete neither files nor folders:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;User&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = true;&lt;br /&gt;
acl.FolderRename = false;&lt;br /&gt;
acl.FolderDelete = false;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = true;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The '''Guest''' role that can only view the folders contents:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asp&amp;quot;&amp;gt;AccessControl acl = AccessControl.Add();&lt;br /&gt;
acl.Role = &amp;quot;Guest&amp;quot;;&lt;br /&gt;
acl.ResourceType = &amp;quot;*&amp;quot;;&lt;br /&gt;
acl.Folder = &amp;quot;/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
acl.FolderView = true;&lt;br /&gt;
acl.FolderCreate = false;&lt;br /&gt;
acl.FolderRename = false;&lt;br /&gt;
acl.FolderDelete = false;&lt;br /&gt;
&lt;br /&gt;
acl.FileView = true;&lt;br /&gt;
acl.FileUpload = false;&lt;br /&gt;
acl.FileRename = false;&lt;br /&gt;
acl.FileDelete = false;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization&amp;diff=7287</id>
		<title>CKEditor 3.x/Developers Guide/Localization</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization&amp;diff=7287"/>
				<updated>2013-03-01T13:56:12Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Screenshot replaced with a current one&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:CKEditor Localization}}&lt;br /&gt;
In an effort to speed up the CKEditor localization process and make it easier and more intuitive for our translators to create and maintain different localizations we have decided to set up the [https://www.transifex.com/projects/p/ckeditor/ CKEditor UI Translation Center on Transifex]. Transifex is an online platform that allows projects to make use of community-based translations, providing suitable resource management tools as well as a user-friendly browser-based interface.&lt;br /&gt;
&lt;br /&gt;
No matter if you are a first-time Transifex user or a seasoned translator, a fresh CKEditor fan or a long time user, feel free to join us, contribute to existing translations or create new ones in an effort to make it easier for people from around the world to use their favorite editor in their native language!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery style=&amp;quot;border: 1px solid #DDDDDD; background-color: #FAFAFA;&amp;quot; caption=&amp;quot;CKEditor UI Translation Center at Transifex&amp;quot; perrow=&amp;quot;2&amp;quot;  widths=&amp;quot;240px&amp;quot; heights=&amp;quot;200px&amp;quot;&amp;gt;&lt;br /&gt;
File:Transifex_project_page.png&lt;br /&gt;
File:Transifex_team_translation_resources_01.png&lt;br /&gt;
File:Transifex_team_translation_details_03.png&lt;br /&gt;
File:Transifex_online_translation_04.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Useful Links ==&lt;br /&gt;
* Transifex website: https://www.transifex.com/&lt;br /&gt;
* Transifex documentation: http://help.transifex.com&lt;br /&gt;
* CKEditor official website for an overview of the editor features: http://ckeditor.com&lt;br /&gt;
* CKEditor demo, to see the real context where the language strings are used: http://ckeditor.com/demo&lt;br /&gt;
&lt;br /&gt;
== CKEditor Localization Project Structure ==&lt;br /&gt;
The CKEditor UI Translation Center on Transifex includes a list of [https://www.transifex.com/projects/p/ckeditor/resources/ language resources] that can be translated. These include both CKEditor core file and plugin language files. Please note that as of CKEditor 4 the &amp;lt;code&amp;gt;core&amp;lt;/code&amp;gt; resource contains only a handful of common entries and plugin files are crucial for a complete localization experience.&lt;br /&gt;
&lt;br /&gt;
== CKEditor Localization Team Structure ==&lt;br /&gt;
You will find the following roles among the contributors of the CKEditor localization project on Transifex:&lt;br /&gt;
* '''Project maintainers''' &amp;amp;ndash; CKSource staff that manage the project and have full administration permissions.&lt;br /&gt;
* '''Teams''' &amp;amp;ndash; groups of people that take care of specific localizations, like the Hebrew team, the German team, the Spanish team and so on. Each team consists of one or more persons that perform either of the following roles:&lt;br /&gt;
** '''Team coordinator''' &amp;amp;ndash; usually the creator of the team or a more advanced translator; a user who can manage the team and review submitted translations.&lt;br /&gt;
** '''Team member''' &amp;amp;ndash; a translator of CKEditor into a given language.&lt;br /&gt;
&lt;br /&gt;
== CKEditor Localization Documentation ==&lt;br /&gt;
The localization process of CKEditor is described in a few sections of the documentation page, namely:&lt;br /&gt;
* [[CKEditor_3.x/Developers_Guide/Localization_Teams|Localization Teams]] &amp;amp;ndash; joining a localization team, requesting a new one.&lt;br /&gt;
* [[CKEditor_3.x/Developers_Guide/Translating_CKEditor|Translating CKEditor]] &amp;amp;ndash; localizing CKEditor by using the online and offline translation workflow.&lt;br /&gt;
* [[CKEditor_3.x/Developers_Guide/Localization_Tips|Localization Tips]] &amp;amp;ndash; some useful advice on using Transifex to translate CKEditor.&lt;br /&gt;
* [[CKEditor_3.x/Developers_Guide/Localization_Troubleshooting|Localization Troubleshooting]] &amp;amp;ndash; some issues that you may encounter while translating CKEditor.&lt;br /&gt;
* [[CKEditor_3.x/Developers_Guide/Technical_Details_of_Localization|Technical Details]] &amp;amp;ndash; additional, more advanced information about the UI Translation Center.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7286</id>
		<title>CKEditor 3.x/Developers Guide/Localization Teams</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7286"/>
				<updated>2013-03-01T13:52:52Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Outdated image removed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:CKEditor Localization Teams}}&lt;br /&gt;
CKEditor translation is based on language teams. The CKEditor resources are localized by dedicated teams of users that manage the translations into their native language. Bringing CKEditor to the users all around the world and making the editor available in as many languages as possible are our priorities. This is why all CKEditor developers and users are most welcome to join our [https://www.transifex.com/projects/p/ckeditor/ localization project on Transifex] and to contribute their translations.&lt;br /&gt;
&lt;br /&gt;
== Joining CKEditor Localization Team ==&lt;br /&gt;
CKSource is always looking for new translators willing to join the CKEditor localization project, complete existing translations, and add new language versions. If you want to contribute, proceed as described below:&lt;br /&gt;
# '''Register on the Transifex website.'''&lt;br /&gt;
#; You can [https://www.transifex.com/ sign up for free] by using the &amp;quot;Sign Up Free&amp;quot; button in the top right-hand corner of the Transifex homepage. You will be redirected to the [https://www.transifex.com/signup/ signup form page]. Fill in your personal details and register the account. You will need to confirm your account by clicking the link from the validation e-mail.&lt;br /&gt;
# '''[https://www.transifex.com/signin/ Log in] and complete your profile.'''&lt;br /&gt;
#; Go to the '''[https://www.transifex.com/settings/ User account]''' section of your dashboard (by clicking your username in the top right-hand corner) and fill in the information that can tell other contributors something more about yourself.&lt;br /&gt;
# '''Join a CKEditor translation team.'''&lt;br /&gt;
#; Go to the [https://www.transifex.com/projects/p/ckeditor/ project's site] and see the list of available language teams. If you find a suitable one, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Joining_a_Team|join it]]. If a language has the &amp;quot;(no team yet)&amp;quot; caption or it is not listed, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Requesting_a_New_Team|request the creation of a new team]] for your native language.&lt;br /&gt;
#; Your requests will need to be approved by one of the maintainers or coordinators before you can actively contribute to the project.&lt;br /&gt;
&lt;br /&gt;
== Joining an Existing Team ==&lt;br /&gt;
Go to the [https://www.transifex.com/projects/p/ckeditor/ CKEditor project page] and click a language that you want to join. Click '''Join team''' to request access to an existing team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_01.png|thumb|center|800px|Joining an existing team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before joining, you will need to accept the [https://www.transifex.com/projects/p/ckeditor/cla/ Contributor License Agreement]. Select the checkbox and press the '''Join language translation''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_03.png|thumb|center|800px|Accepting the Contributor License Agreement in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
After you click the '''Join language translation''' button, a notification will be sent to the team coordinator. Your user name will now appear on the waiting list and you will be able to withdraw your application by clicking the '''Withdraw''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_02.png|thumb|center|800px|Team waiting list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The request will also be visible in your dashboard &amp;amp;mdash; see the '''Recent Events''' list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_recent_activity_01.png|frame|center|Recent Events list in Transifex dashboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. Your username will also appear on the language team page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_team_members.png|thumb|center|800px|Team members list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can now start translating project resources within your language team.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;Please note that in order to join more language teams you need to apply to all of them separately.&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requesting a New Team ==&lt;br /&gt;
If a team for your native language does not exist, you can request creating a new one. Please note that two situations may occur.&lt;br /&gt;
&lt;br /&gt;
CKEditor may already have some translations for your native language coming from the past, but no team coordinates these efforts on Transifex. If this is the case, the language will be listed as '''''Language'' (no team yet)''' on the [https://www.transifex.com/projects/p/ckeditor/ project page].&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_no_team.png|thumb|center|800px|Languages without a team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is the case, choose the language and then proceed as described in the [[CKEditor_3.x/Developers_Guide/Localization_Teams#Joining_a_Team|Joining a Team]] section. Your request will be sent to project maintainers and when accepted, you will become the team coordinator.&lt;br /&gt;
&lt;br /&gt;
If, however, the language of your choice is not listed, just click the '''Request language''' link above the languages list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_01.png|thumb|center|800px|Requesting a new team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following form will open, letting you choose a language for the team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_02.png|thumb|center|800px|Requesting a new team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;note&amp;gt;Please note that CKEditor uses two-letter ISO 639-1 language codes (like &amp;lt;code&amp;gt;de&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;it&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fi&amp;lt;/code&amp;gt;) for the majority of translations. In some cases, when a regional variation is required, the four-letter language code can be used (like in &amp;lt;code&amp;gt;pt_BR&amp;lt;/code&amp;gt; for Brazilian Portuguese). Please contact the project maintainers if you have any doubts in this regard.&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will need to accept the [https://www.transifex.com/projects/p/ckeditor/cla/snippet/ Contributor License Agreement] by selecting an appropriate checkbox in the form. After you click the '''Request team''' button, a notification will be sent to the project maintainers. The requested team will now appear on the waiting list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_03.png|thumb|center|800px|Pending team requests in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The request will also be visible in your dashboard &amp;amp;mdash; see the '''Recent Events''' list.&lt;br /&gt;
 &lt;br /&gt;
[[Image:Transifex_recent_activity_02.png|frame|center|Recent Events list in Transifex dashboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. The new language will also immediately become available on the main project page.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_request_team_03.png&amp;diff=7285</id>
		<title>File:Transifex request team 03.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_request_team_03.png&amp;diff=7285"/>
				<updated>2013-03-01T13:50:46Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex request team 03.png&amp;amp;quot;: Updated to Feb 2013 look&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pending team requests in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_recent_activity_02.png&amp;diff=7284</id>
		<title>File:Transifex recent activity 02.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_recent_activity_02.png&amp;diff=7284"/>
				<updated>2013-03-01T13:49:48Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex recent activity 02.png&amp;amp;quot;: Updated to Feb 2013 look&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Recent activity list in Transifex profile&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7283</id>
		<title>CKEditor 3.x/Developers Guide/Localization Teams</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7283"/>
				<updated>2013-03-01T13:34:17Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: /* Requesting a New Team */ Updated part 4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:CKEditor Localization Teams}}&lt;br /&gt;
CKEditor translation is based on language teams. The CKEditor resources are localized by dedicated teams of users that manage the translations into their native language. Bringing CKEditor to the users all around the world and making the editor available in as many languages as possible are our priorities. This is why all CKEditor developers and users are most welcome to join our [https://www.transifex.com/projects/p/ckeditor/ localization project on Transifex] and to contribute their translations.&lt;br /&gt;
&lt;br /&gt;
== Joining CKEditor Localization Team ==&lt;br /&gt;
CKSource is always looking for new translators willing to join the CKEditor localization project, complete existing translations, and add new language versions. If you want to contribute, proceed as described below:&lt;br /&gt;
# '''Register on the Transifex website.'''&lt;br /&gt;
#; You can [https://www.transifex.com/ sign up for free] by using the &amp;quot;Sign Up Free&amp;quot; button in the top right-hand corner of the Transifex homepage. You will be redirected to the [https://www.transifex.com/signup/ signup form page]. Fill in your personal details and register the account. You will need to confirm your account by clicking the link from the validation e-mail.&lt;br /&gt;
# '''[https://www.transifex.com/signin/ Log in] and complete your profile.'''&lt;br /&gt;
#; Go to the '''[https://www.transifex.com/settings/ User account]''' section of your dashboard (by clicking your username in the top right-hand corner) and fill in the information that can tell other contributors something more about yourself.&lt;br /&gt;
# '''Join a CKEditor translation team.'''&lt;br /&gt;
#; Go to the [https://www.transifex.com/projects/p/ckeditor/ project's site] and see the list of available language teams. If you find a suitable one, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Joining_a_Team|join it]]. If a language has the &amp;quot;(no team yet)&amp;quot; caption or it is not listed, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Requesting_a_New_Team|request the creation of a new team]] for your native language.&lt;br /&gt;
#; Your requests will need to be approved by one of the maintainers or coordinators before you can actively contribute to the project.&lt;br /&gt;
&lt;br /&gt;
== Joining an Existing Team ==&lt;br /&gt;
Go to the [https://www.transifex.com/projects/p/ckeditor/ CKEditor project page] and click a language that you want to join. Click '''Join team''' to request access to an existing team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_01.png|thumb|center|800px|Joining an existing team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before joining, you will need to accept the [https://www.transifex.com/projects/p/ckeditor/cla/ Contributor License Agreement]. Select the checkbox and press the '''Join language translation''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_03.png|thumb|center|800px|Accepting the Contributor License Agreement in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
After you click the '''Join language translation''' button, a notification will be sent to the team coordinator. Your user name will now appear on the waiting list and you will be able to withdraw your application by clicking the '''Withdraw''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_02.png|thumb|center|800px|Team waiting list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The request will also be visible in your dashboard &amp;amp;mdash; see the '''Recent Events''' list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_recent_activity_01.png|frame|center|Recent Events list in Transifex dashboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. Your username will also appear on the language team page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_team_members.png|thumb|center|800px|Team members list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can now start translating project resources within your language team.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;Please note that in order to join more language teams you need to apply to all of them separately.&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requesting a New Team ==&lt;br /&gt;
If a team for your native language does not exist, you can request creating a new one. Please note that two situations may occur.&lt;br /&gt;
&lt;br /&gt;
CKEditor may already have some translations for your native language coming from the past, but no team coordinates these efforts on Transifex. If this is the case, the language will be listed as '''''Language'' (no team yet)''' on the [https://www.transifex.com/projects/p/ckeditor/ project page].&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_no_team.png|thumb|center|800px|Languages without a team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is the case, choose the language and then proceed as described in the [[CKEditor_3.x/Developers_Guide/Localization_Teams#Joining_a_Team|Joining a Team]] section. Your request will be sent to project maintainers and when accepted, you will become the team coordinator.&lt;br /&gt;
&lt;br /&gt;
If, however, the language of your choice is not listed, just click the '''Request language''' link above the languages list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_01.png|thumb|center|800px|Requesting a new team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following form will open, letting you choose a language for the team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_02.png|thumb|center|800px|Requesting a new team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;note&amp;gt;Please note that CKEditor uses two-letter ISO 639-1 language codes (like &amp;lt;code&amp;gt;de&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;it&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fi&amp;lt;/code&amp;gt;) for the majority of translations. In some cases, when a regional variation is required, the four-letter language code can be used (like in &amp;lt;code&amp;gt;pt_BR&amp;lt;/code&amp;gt; for Brazilian Portuguese). Please contact the project maintainers if you have any doubts in this regard.&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will need to accept the [https://www.transifex.com/projects/p/ckeditor/cla/snippet/ Contributor License Agreement] by selecting an appropriate checkbox in the form. After you click the '''Request team''' button, a notification will be sent to the project maintainers. The requested team will now appear on the waiting list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_03.png|thumb|center|800px|Pending team requests in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The request will also be visible in your dashboard &amp;amp;mdash; see the '''Recent Events''' list.&lt;br /&gt;
 &lt;br /&gt;
[[Image:Transifex_recent_activity_02.png|frame|center|Recent Events list in Transifex dashboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. The new language will also immediately become available on the main project page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_teams_01.png|frame|center|Language teams list in Transifex]]&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_request_team_02.png&amp;diff=7282</id>
		<title>File:Transifex request team 02.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_request_team_02.png&amp;diff=7282"/>
				<updated>2013-03-01T13:31:08Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex request team 02.png&amp;amp;quot;: Updated to Feb 2013 look with CLA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Requesting a new team in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_request_team_01.png&amp;diff=7281</id>
		<title>File:Transifex request team 01.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_request_team_01.png&amp;diff=7281"/>
				<updated>2013-03-01T13:28:40Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex request team 01.png&amp;amp;quot;: Updated to Feb 2013 look&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Requesting a new team in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_language_codes.png&amp;diff=7280</id>
		<title>File:Transifex language codes.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_language_codes.png&amp;diff=7280"/>
				<updated>2013-03-01T13:24:43Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex language codes.png&amp;amp;quot;: Updated to Feb 2013 look&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Language codes available in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7279</id>
		<title>CKEditor 3.x/Developers Guide/Localization Teams</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7279"/>
				<updated>2013-03-01T12:19:59Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:CKEditor Localization Teams}}&lt;br /&gt;
CKEditor translation is based on language teams. The CKEditor resources are localized by dedicated teams of users that manage the translations into their native language. Bringing CKEditor to the users all around the world and making the editor available in as many languages as possible are our priorities. This is why all CKEditor developers and users are most welcome to join our [https://www.transifex.com/projects/p/ckeditor/ localization project on Transifex] and to contribute their translations.&lt;br /&gt;
&lt;br /&gt;
== Joining CKEditor Localization Team ==&lt;br /&gt;
CKSource is always looking for new translators willing to join the CKEditor localization project, complete existing translations, and add new language versions. If you want to contribute, proceed as described below:&lt;br /&gt;
# '''Register on the Transifex website.'''&lt;br /&gt;
#; You can [https://www.transifex.com/ sign up for free] by using the &amp;quot;Sign Up Free&amp;quot; button in the top right-hand corner of the Transifex homepage. You will be redirected to the [https://www.transifex.com/signup/ signup form page]. Fill in your personal details and register the account. You will need to confirm your account by clicking the link from the validation e-mail.&lt;br /&gt;
# '''[https://www.transifex.com/signin/ Log in] and complete your profile.'''&lt;br /&gt;
#; Go to the '''[https://www.transifex.com/settings/ User account]''' section of your dashboard (by clicking your username in the top right-hand corner) and fill in the information that can tell other contributors something more about yourself.&lt;br /&gt;
# '''Join a CKEditor translation team.'''&lt;br /&gt;
#; Go to the [https://www.transifex.com/projects/p/ckeditor/ project's site] and see the list of available language teams. If you find a suitable one, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Joining_a_Team|join it]]. If a language has the &amp;quot;(no team yet)&amp;quot; caption or it is not listed, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Requesting_a_New_Team|request the creation of a new team]] for your native language.&lt;br /&gt;
#; Your requests will need to be approved by one of the maintainers or coordinators before you can actively contribute to the project.&lt;br /&gt;
&lt;br /&gt;
== Joining an Existing Team ==&lt;br /&gt;
Go to the [https://www.transifex.com/projects/p/ckeditor/ CKEditor project page] and click a language that you want to join. Click '''Join team''' to request access to an existing team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_01.png|thumb|center|800px|Joining an existing team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before joining, you will need to accept the [https://www.transifex.com/projects/p/ckeditor/cla/ Contributor License Agreement]. Select the checkbox and press the '''Join language translation''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_03.png|thumb|center|800px|Accepting the Contributor License Agreement in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
After you click the '''Join language translation''' button, a notification will be sent to the team coordinator. Your user name will now appear on the waiting list and you will be able to withdraw your application by clicking the '''Withdraw''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_02.png|thumb|center|800px|Team waiting list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The request will also be visible in your dashboard &amp;amp;mdash; see the '''Recent Events''' list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_recent_activity_01.png|frame|center|Recent Events list in Transifex dashboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. Your username will also appear on the language team page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_team_members.png|thumb|center|800px|Team members list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can now start translating project resources within your language team.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;Please note that in order to join more language teams you need to apply to all of them separately.&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requesting a New Team ==&lt;br /&gt;
If a team for your native language does not exist, you can request creating a new one. Please note that two situations may occur.&lt;br /&gt;
&lt;br /&gt;
CKEditor may already have some translations for your native language coming from the past, but no team coordinates these efforts on Transifex. If this is the case, the language will be listed as '''''Language'' (no team yet)''' on the [https://www.transifex.com/projects/p/ckeditor/ project page].&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_no_team.png|thumb|center|800px|Languages without a team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is the case, choose the language and then proceed as described in the [[CKEditor_3.x/Developers_Guide/Localization_Teams#Joining_a_Team|Joining a Team]] section. Your request will be sent to project maintainers and when accepted, you will become the team coordinator.&lt;br /&gt;
&lt;br /&gt;
If, however, the language of your choice is not listed, just click the '''Request language''' link above the languages list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_01.png|thumb|center|800px|Requesting a new team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following form will open, letting you choose a language for the team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_02.png|thumb|center|800px|Requesting a new team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;note&amp;gt;Please note that CKEditor uses two-letter ISO 639-1 language codes (like &amp;lt;code&amp;gt;de&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;it&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fi&amp;lt;/code&amp;gt;) for the majority of translations. In some cases, when a regional variation is required, the four-letter language code can be used (like in &amp;lt;code&amp;gt;pt_BR&amp;lt;/code&amp;gt; for Brazilian Portuguese). Please contact the project maintainers if you have any doubts in this regard.&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you click the '''Request team''' button, a notification will be sent to the project maintainers. The requested team will now appear on the waiting list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_03.png|thumb|center|800px|Pending team requests in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The request will also be visible in your dashboard &amp;amp;mdash; see the '''Recent Events''' list.&lt;br /&gt;
 &lt;br /&gt;
[[Image:Transifex_recent_activity_02.png|frame|center|Recent Events list in Transifex dashboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. The new language will also immediately become available on the main project page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_teams_01.png|frame|center|Language teams list in Transifex]]&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7278</id>
		<title>CKEditor 3.x/Developers Guide/Localization Teams</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7278"/>
				<updated>2013-03-01T12:18:52Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: /* Joining a Team */ CLA note added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:CKEditor Localization Teams}}&lt;br /&gt;
CKEditor translation is based on language teams. The CKEditor resources are localized by dedicated teams of users that manage the translations into their native language. Bringing CKEditor to the users all around the world and making the editor available in as many languages as possible are our priorities. This is why all CKEditor developers and users are most welcome to join our [https://www.transifex.com/projects/p/ckeditor/ localization project on Transifex] and to contribute their translations.&lt;br /&gt;
&lt;br /&gt;
== Joining CKEditor Localization Team ==&lt;br /&gt;
CKSource is always looking for new translators willing to join the CKEditor localization project, complete existing translations, and add new language versions. If you want to contribute, proceed as described below:&lt;br /&gt;
# '''Register on the Transifex website.'''&lt;br /&gt;
#; You can [https://www.transifex.com/ sign up for free] by using the &amp;quot;Sign Up Free&amp;quot; button in the top right-hand corner of the Transifex homepage. You will be redirected to the [https://www.transifex.com/signup/ signup form page]. Fill in your personal details and register the account. You will need to confirm your account by clicking the link from the validation e-mail.&lt;br /&gt;
# '''[https://www.transifex.com/signin/ Log in] and complete your profile.'''&lt;br /&gt;
#; Go to the '''[https://www.transifex.com/settings/ User account]''' section of your dashboard (by clicking your username in the top right-hand corner) and fill in the information that can tell other contributors something more about yourself.&lt;br /&gt;
# '''Join a CKEditor translation team.'''&lt;br /&gt;
#; Go to the [https://www.transifex.com/projects/p/ckeditor/ project's site] and see the list of available language teams. If you find a suitable one, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Joining_a_Team|join it]]. If a language has the &amp;quot;(no team yet)&amp;quot; caption or it is not listed, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Requesting_a_New_Team|request the creation of a new team]] for your native language.&lt;br /&gt;
#; Your requests will need to be approved by one of the maintainers or coordinators before you can actively contribute to the project.&lt;br /&gt;
&lt;br /&gt;
=== Joining a Team ===&lt;br /&gt;
Go to the [https://www.transifex.com/projects/p/ckeditor/ CKEditor project page] and click a language that you want to join. Click '''Join team''' to request access to an existing team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_01.png|thumb|center|800px|Joining an existing team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before joining, you will need to accept the [https://www.transifex.com/projects/p/ckeditor/cla/ Contributor License Agreement]. Select the checkbox and press the '''Join language translation''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_03.png|thumb|center|800px|Accepting the Contributor License Agreement in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
After you click the '''Join language translation''' button, a notification will be sent to the team coordinator. Your user name will now appear on the waiting list and you will be able to withdraw your application by clicking the '''Withdraw''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_02.png|thumb|center|800px|Team waiting list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The request will also be visible in your dashboard &amp;amp;mdash; see the '''Recent Events''' list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_recent_activity_01.png|frame|center|Recent Events list in Transifex dashboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. Your username will also appear on the language team page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_team_members.png|thumb|center|800px|Team members list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can now start translating project resources within your language team.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;Please note that in order to join more language teams you need to apply to all of them separately.&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Requesting a New Team ===&lt;br /&gt;
If a team for your native language does not exist, you can request creating a new one. Please note that two situations may occur.&lt;br /&gt;
&lt;br /&gt;
CKEditor may already have some translations for your native language coming from the past, but no team coordinates these efforts on Transifex. If this is the case, the language will be listed as '''''Language'' (no team yet)''' on the [https://www.transifex.com/projects/p/ckeditor/ project page].&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_no_team.png|thumb|center|800px|Languages without a team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is the case, choose the language and then proceed as described in the [[CKEditor_3.x/Developers_Guide/Localization_Teams#Joining_a_Team|Joining a Team]] section. Your request will be sent to project maintainers and when accepted, you will become the team coordinator.&lt;br /&gt;
&lt;br /&gt;
If, however, the language of your choice is not listed, just click the '''Request language''' link above the languages list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_01.png|thumb|center|800px|Requesting a new team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following form will open, letting you choose a language for the team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_02.png|thumb|center|800px|Requesting a new team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;note&amp;gt;Please note that CKEditor uses two-letter ISO 639-1 language codes (like &amp;lt;code&amp;gt;de&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;it&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fi&amp;lt;/code&amp;gt;) for the majority of translations. In some cases, when a regional variation is required, the four-letter language code can be used (like in &amp;lt;code&amp;gt;pt_BR&amp;lt;/code&amp;gt; for Brazilian Portuguese). Please contact the project maintainers if you have any doubts in this regard.&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you click the '''Request team''' button, a notification will be sent to the project maintainers. The requested team will now appear on the waiting list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_03.png|thumb|center|800px|Pending team requests in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The request will also be visible in your dashboard &amp;amp;mdash; see the '''Recent Events''' list.&lt;br /&gt;
 &lt;br /&gt;
[[Image:Transifex_recent_activity_02.png|frame|center|Recent Events list in Transifex dashboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. The new language will also immediately become available on the main project page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_teams_01.png|frame|center|Language teams list in Transifex]]&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Troubleshooting&amp;diff=7277</id>
		<title>CKEditor 3.x/Developers Guide/Localization Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Troubleshooting&amp;diff=7277"/>
				<updated>2013-03-01T12:17:44Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Section sequence changed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:CKEditor Localization Troubleshooting}}&lt;br /&gt;
The following article describes some issues that may arise during the localization process. If your problem is not described here, [https://www.transifex.com/projects/p/ckeditor/ contact CKEditor project maintainers] to get support.&lt;br /&gt;
&lt;br /&gt;
== How to report disruptive team members, abuse, and vandalism ==&lt;br /&gt;
If you feel that there is a member of your team who is abusing the CKEditor localization project in any way, please report him or her to the project maintainers.&lt;br /&gt;
&lt;br /&gt;
== Resource was not locked after downloading it for translation ==&lt;br /&gt;
You can lock the resource manually by selecting the '''Lock this translation to notify others you're working with it.''' option in the language resource dialog window. &lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_manual_locking.png|frame|center|Lock file option in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do not forget to unlock the translation when you are done with your work.&lt;br /&gt;
&lt;br /&gt;
== Which language code should I use for a new team? ==&lt;br /&gt;
When you are [[CKEditor_3.x/Developers_Guide/Localization_Teams#Requesting_a_New_Team|setting up a new localization team]], you will be able to choose one from the drop-down list on Transifex page. &lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_language_codes.png|thumb|center|800px|Language codes available in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that while Transifex offers both two letter and four letter language codes, you should stick to the following CKSource rules based on ISO 639-1:&lt;br /&gt;
* For a ''standard variation of a language'', use a two letter language code, for example &amp;lt;code&amp;gt;pt&amp;lt;/code&amp;gt; for Portuguese as used in Portugal.&lt;br /&gt;
* For a ''regional variant of a language only'', use a four letter language code, for example &amp;lt;code&amp;gt;pt_BR&amp;lt;/code&amp;gt; for Portuguese as used in Brazil.&lt;br /&gt;
&lt;br /&gt;
== Contribution License Agreement Error ==&lt;br /&gt;
When trying to join a translation team or requesting creation of a new team your action might be blocked with the following error message urging you to sign the Contribution License Agreement.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_cla_error.png|thumb|center|800px|Contribution License Agreement error in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is the case, open the https://www.transifex.com/projects/p/ckeditor/cla/ page in your browser, select the checkbox and click the '''Sign it''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_signing_cla.png|frame|center|Signing the Contribution License Agreement in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do I still need to escape apostrophes in localized strings? ==&lt;br /&gt;
No. Although previously we have been working directly on JavaScript files and all apostrophes had to be escaped by using a backslash character, you no longer need to do this. Our tools will now perform all the necessary replacements in the background so just enter a correct literal string.&lt;br /&gt;
* '''Old version:'''&lt;br /&gt;
*; &amp;lt;code&amp;gt;Barre d\'emplacement des éléments de l\'éditeur&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''Current version:'''&lt;br /&gt;
*; &amp;lt;code&amp;gt;Barre d'emplacement des éléments de l'éditeur&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How Do I Correct Existing Localizations? ==&lt;br /&gt;
When using CKEditor, you might notice that some language strings are not as good as they could be. If this is the case, you can log into the CKEditor UI Translation Center at Transifex and choose the resource you want to correct. When in [[CKEditor_3.x/Developers_Guide/Translating_CKEditor#Online_Translation|online translation mode]], just use the search bar to search for the term that you want to correct. Make sure you have not limited the list to untranslated entries only by clicking the '''Untranslated''' link above the editor input field.&lt;br /&gt;
&lt;br /&gt;
== Transifex hangs on uploading a localized file ==&lt;br /&gt;
Sometimes when a file is malformed or uses an incorrect encoding, the upload may not succeed &amp;amp;mdash; it will hang without a descriptive error message. If this happens please check the following:&lt;br /&gt;
* Whether the file is correctly encoded.&amp;lt;br /&amp;gt; All CKEditor files are UTF-8 encoded. ANSI files will be rejected.&lt;br /&gt;
* Whether the file does not contain BOM.&lt;br /&gt;
* Whether the file structure was not altered in any way.&lt;br /&gt;
*; You can run &amp;lt;code&amp;gt;msgfmt -c&amp;lt;/code&amp;gt; on the file to check its correctness before you attempt to upload it.&lt;br /&gt;
&lt;br /&gt;
== Transifex reports a failed file correctness check ==&lt;br /&gt;
On uploading the file Transifex may report that the file is malformed.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_offline_translation_error.png|thumb|600px|center|Failed file correctness check in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As suggested by Transifex, check the file by running &amp;lt;code&amp;gt;msgfmt -c&amp;lt;/code&amp;gt;. Possible causes of the error might be:&lt;br /&gt;
* BOM is present at the beginning of the file.&lt;br /&gt;
* The &amp;lt;code&amp;gt;.po&amp;lt;/code&amp;gt; file structure was altered and is no longer compliant with the project resources.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_join_team_03.png&amp;diff=7276</id>
		<title>File:Transifex join team 03.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_join_team_03.png&amp;diff=7276"/>
				<updated>2013-03-01T11:35:12Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Accepting the CLA in Transifex&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accepting the CLA in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Troubleshooting&amp;diff=7275</id>
		<title>CKEditor 3.x/Developers Guide/Localization Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Troubleshooting&amp;diff=7275"/>
				<updated>2013-03-01T11:05:44Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Error with CLA added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:CKEditor Localization Troubleshooting}}&lt;br /&gt;
The following article describes some issues that may arise during the localization process. If your problem is not described here, [https://www.transifex.com/projects/p/ckeditor/ contact CKEditor project maintainers] to get support.&lt;br /&gt;
&lt;br /&gt;
=== Contribution License Agreement Error ===&lt;br /&gt;
When trying to join a translation team or requesting creation of a new team your action might be blocked with the following error message urging you to sign the Contribution License Agreement.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_cla_error.png|thumb|center|800px|Contribution License Agreement error in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is the case, open the https://www.transifex.com/projects/p/ckeditor/cla/ page in your browser, select the checkbox and click the '''Sign it''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_signing_cla.png|frame|center|Signing the Contribution License Agreement in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to report disruptive team members, abuse, and vandalism ===&lt;br /&gt;
If you feel that there is a member of your team who is abusing the CKEditor localization project in any way, please report him or her to the project maintainers.&lt;br /&gt;
&lt;br /&gt;
=== Resource was not locked after downloading it for translation ===&lt;br /&gt;
You can lock the resource manually by selecting the '''Lock this translation to notify others you're working with it.''' option in the language resource dialog window. &lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_manual_locking.png|frame|center|Lock file option in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do not forget to unlock the translation when you are done with your work.&lt;br /&gt;
&lt;br /&gt;
=== Which language code should I use for a new team? ===&lt;br /&gt;
When you are [[CKEditor_3.x/Developers_Guide/Localization_Teams#Requesting_a_New_Team|setting up a new localization team]], you will be able to choose one from the drop-down list on Transifex page. &lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_language_codes.png|thumb|center|800px|Language codes available in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that while Transifex offers both two letter and four letter language codes, you should stick to the following CKSource rules based on ISO 639-1:&lt;br /&gt;
* For a ''standard variation of a language'', use a two letter language code, for example &amp;lt;code&amp;gt;pt&amp;lt;/code&amp;gt; for Portuguese as used in Portugal.&lt;br /&gt;
* For a ''regional variant of a language only'', use a four letter language code, for example &amp;lt;code&amp;gt;pt_BR&amp;lt;/code&amp;gt; for Portuguese as used in Brazil.&lt;br /&gt;
&lt;br /&gt;
=== Do I still need to escape apostrophes in localized strings? ===&lt;br /&gt;
No. Although previously we have been working directly on JavaScript files and all apostrophes had to be escaped by using a backslash character, you no longer need to do this. Our tools will now perform all the necessary replacements in the background so just enter a correct literal string.&lt;br /&gt;
* '''Old version:'''&lt;br /&gt;
*; &amp;lt;code&amp;gt;Barre d\'emplacement des éléments de l\'éditeur&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''Current version:'''&lt;br /&gt;
*; &amp;lt;code&amp;gt;Barre d'emplacement des éléments de l'éditeur&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== How Do I Correct Existing Localizations? ===&lt;br /&gt;
When using CKEditor, you might notice that some language strings are not as good as they could be. If this is the case, you can log into the CKEditor UI Translation Center at Transifex and choose the resource you want to correct. When in [[CKEditor_3.x/Developers_Guide/Translating_CKEditor#Online_Translation|online translation mode]], just use the search bar to search for the term that you want to correct. Make sure you have not limited the list to untranslated entries only by clicking the '''Untranslated''' link above the editor input field.&lt;br /&gt;
&lt;br /&gt;
=== Transifex hangs on uploading a localized file ===&lt;br /&gt;
Sometimes when a file is malformed or uses an incorrect encoding, the upload may not succeed &amp;amp;mdash; it will hang without a descriptive error message. If this happens please check the following:&lt;br /&gt;
* Whether the file is correctly encoded.&amp;lt;br /&amp;gt; All CKEditor files are UTF-8 encoded. ANSI files will be rejected.&lt;br /&gt;
* Whether the file does not contain BOM.&lt;br /&gt;
* Whether the file structure was not altered in any way.&lt;br /&gt;
*; You can run &amp;lt;code&amp;gt;msgfmt -c&amp;lt;/code&amp;gt; on the file to check its correctness before you attempt to upload it.&lt;br /&gt;
&lt;br /&gt;
=== Transifex reports a failed file correctness check ===&lt;br /&gt;
On uploading the file Transifex may report that the file is malformed.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_offline_translation_error.png|thumb|600px|center|Failed file correctness check in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As suggested by Transifex, check the file by running &amp;lt;code&amp;gt;msgfmt -c&amp;lt;/code&amp;gt;. Possible causes of the error might be:&lt;br /&gt;
* BOM is present at the beginning of the file.&lt;br /&gt;
* The &amp;lt;code&amp;gt;.po&amp;lt;/code&amp;gt; file structure was altered and is no longer compliant with the project resources.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_signing_cla.png&amp;diff=7274</id>
		<title>File:Transifex signing cla.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_signing_cla.png&amp;diff=7274"/>
				<updated>2013-03-01T11:05:02Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Signing the Contribution License Agreement in Transifex&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Signing the Contribution License Agreement in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_cla_error.png&amp;diff=7273</id>
		<title>File:Transifex cla error.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_cla_error.png&amp;diff=7273"/>
				<updated>2013-03-01T11:03:45Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Contribution License Agreement error in Transifex&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Contribution License Agreement error in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_request_team_02.png&amp;diff=7272</id>
		<title>File:Transifex request team 02.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_request_team_02.png&amp;diff=7272"/>
				<updated>2013-03-01T10:39:13Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex request team 02.png&amp;amp;quot;: Updated to Feb 2013 look&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Requesting a new team in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Technical_Details_of_Localization&amp;diff=7271</id>
		<title>CKEditor 3.x/Developers Guide/Technical Details of Localization</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Technical_Details_of_Localization&amp;diff=7271"/>
				<updated>2013-02-28T15:19:25Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: /* How Can I Immediately Test New Translations? */ Updated to Feb 2013&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#CUSTOMTITLE:Technical Details of the CKEditor Localization}} __TOC__&lt;br /&gt;
In the article below you will learn:&lt;br /&gt;
# How often translations are ported from Transifex to CKEditor;&lt;br /&gt;
# Why gettext &amp;lt;code&amp;gt;.po&amp;lt;/code&amp;gt; files are used in the CKEditor localization project;&lt;br /&gt;
# How to manually test new translations.&lt;br /&gt;
&lt;br /&gt;
== When Will My Translation Be Published? ==&lt;br /&gt;
Below is a simple diagram that shows when the language strings added in Transifex will land in a new CKEditor release.&lt;br /&gt;
&lt;br /&gt;
http://a.cksource.com/c/1/inc/img/transifex/diagram.png&lt;br /&gt;
&lt;br /&gt;
Once generated, the development snapshot is immediately published on the [http://nightly.ckeditor.com/ CKEditor Nightly Website].&lt;br /&gt;
The whole process takes up to 24 hours, so after updating the translation, the next day you can download a development snapshot that will contain updated files. You can then test if everything works as expected.&lt;br /&gt;
&amp;lt;note&amp;gt;Please note that the ''development shapshot'' is exactly what the name implies. For a production environment it is more advisable to wait for the next stable release with updated language files.&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Why Are .PO Files Used in Tansifex? ==&lt;br /&gt;
CKEditor is a browser-based WYSIWYG editor written in JavaScript. The language files used by CKEditor are also JavaScript files. This is the best option performance-wise.&lt;br /&gt;
&lt;br /&gt;
For many translators working with JavaScript source code was not comfortable. Storing text in plain JavaScript files meant that the translator had to know how to code in JavaScript &amp;amp;mdash; strings had to be escaped properly, multiline strings had to be written in a special way etc. JavaScript language files are in fact small programs, for example the language file for the &amp;lt;code&amp;gt;a11yhelp&amp;lt;/code&amp;gt; plugin calls a function:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.plugins.setLang( 'a11yhelp', 'he', {&lt;br /&gt;
	accessibilityHelp : {&lt;br /&gt;
	...&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
All the issues mentioned above as well as the very specific format of the language files used by CKEditor core and plugins lead to the conclusion that a simplified intermediate format (&amp;lt;code&amp;gt;gettext&amp;lt;/code&amp;gt;) is needed to make the localization process more straightforward and the integration with Transifex easier.&lt;br /&gt;
&lt;br /&gt;
=== What Does it Mean to Me? ===&lt;br /&gt;
In the CKEditor localization project at Transifex you only have access to  the &amp;lt;code&amp;gt;gettext&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;.po&amp;lt;/code&amp;gt;) files. It means that for example if you download a resource for offline translation, you will get a &amp;lt;code&amp;gt;.po&amp;lt;/code&amp;gt; file, not a JavaScript file. You can load this file into your favorite &amp;lt;code&amp;gt;.po&amp;lt;/code&amp;gt; file editor like [http://projects.gnome.org/gtranslator/ Gtranslator], [http://userbase.kde.org/Lokalize Lokalize], or [http://www.poedit.net/ Poedit] for offline translation, but you cannot use it directly with CKEditor.&lt;br /&gt;
&lt;br /&gt;
== How Can I Immediately Test New Translations? ==&lt;br /&gt;
At some stage you may want to immediately check if your translation fits into the place where it is used.&lt;br /&gt;
As explained above, the propagation of changes between Transifex and the CKEditor nightly build takes up to 24 hours. If you have doubts regarding the string context, make sure to always check the '''Details''' tab of a language string and read the '''Developer comment''' field to understand where the string is used.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_details_tab.png|thumb|center|800px|The Details tab of a language string in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are still unsure, you can also check the '''Key'''  in the '''Details''' tab. The '''Key''' is nothing else than the name of a variable that is used inside the JavaScript language files. &lt;br /&gt;
For example, the &amp;lt;code&amp;gt;common.url&amp;lt;/code&amp;gt; key is equal to the following object:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
common :&lt;br /&gt;
{&lt;br /&gt;
	url : '...'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
After finding the right entry in the appropriate CKEditor language file (if you are translating the core, the language file is located in the &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; folder), you may modify the string you are interested in. Save the file and launch CKEditor to see whether your translation fits the context and available space.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_details_tab.png&amp;diff=7270</id>
		<title>File:Transifex details tab.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_details_tab.png&amp;diff=7270"/>
				<updated>2013-02-28T15:17:40Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex details tab.png&amp;amp;quot;: Updated to Feb 2013 look&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;quot;details&amp;quot; tab in Transifex.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Troubleshooting&amp;diff=7269</id>
		<title>CKEditor 3.x/Developers Guide/Localization Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Troubleshooting&amp;diff=7269"/>
				<updated>2013-02-28T15:10:06Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Updated to February 2013 look and feel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:CKEditor Localization Troubleshooting}}&lt;br /&gt;
The following article describes some issues that may arise during the localization process. If your problem is not described here, [https://www.transifex.com/projects/p/ckeditor/ contact CKEditor project maintainers] to get support.&lt;br /&gt;
&lt;br /&gt;
=== How to report disruptive team members, abuse, and vandalism ===&lt;br /&gt;
If you feel that there is a member of your team who is abusing the CKEditor localization project in any way, please report him or her to the project maintainers.&lt;br /&gt;
&lt;br /&gt;
=== Resource was not locked after downloading it for translation ===&lt;br /&gt;
You can lock the resource manually by selecting the '''Lock this translation to notify others you're working with it.''' option in the language resource dialog window. &lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_manual_locking.png|frame|center|Lock file option in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do not forget to unlock the translation when you are done with your work.&lt;br /&gt;
&lt;br /&gt;
=== Which language code should I use for a new team? ===&lt;br /&gt;
When you are [[CKEditor_3.x/Developers_Guide/Localization_Teams#Requesting_a_New_Team|setting up a new localization team]], you will be able to choose one from the drop-down list on Transifex page. &lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_language_codes.png|thumb|center|800px|Language codes available in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that while Transifex offers both two letter and four letter language codes, you should stick to the following CKSource rules based on ISO 639-1:&lt;br /&gt;
* For a ''standard variation of a language'', use a two letter language code, for example &amp;lt;code&amp;gt;pt&amp;lt;/code&amp;gt; for Portuguese as used in Portugal.&lt;br /&gt;
* For a ''regional variant of a language only'', use a four letter language code, for example &amp;lt;code&amp;gt;pt_BR&amp;lt;/code&amp;gt; for Portuguese as used in Brazil.&lt;br /&gt;
&lt;br /&gt;
=== Do I still need to escape apostrophes in localized strings? ===&lt;br /&gt;
No. Although previously we have been working directly on JavaScript files and all apostrophes had to be escaped by using a backslash character, you no longer need to do this. Our tools will now perform all the necessary replacements in the background so just enter a correct literal string.&lt;br /&gt;
* '''Old version:'''&lt;br /&gt;
*; &amp;lt;code&amp;gt;Barre d\'emplacement des éléments de l\'éditeur&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''Current version:'''&lt;br /&gt;
*; &amp;lt;code&amp;gt;Barre d'emplacement des éléments de l'éditeur&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== How Do I Correct Existing Localizations? ===&lt;br /&gt;
When using CKEditor, you might notice that some language strings are not as good as they could be. If this is the case, you can log into the CKEditor UI Translation Center at Transifex and choose the resource you want to correct. When in [[CKEditor_3.x/Developers_Guide/Translating_CKEditor#Online_Translation|online translation mode]], just use the search bar to search for the term that you want to correct. Make sure you have not limited the list to untranslated entries only by clicking the '''Untranslated''' link above the editor input field.&lt;br /&gt;
&lt;br /&gt;
=== Transifex hangs on uploading a localized file ===&lt;br /&gt;
Sometimes when a file is malformed or uses an incorrect encoding, the upload may not succeed &amp;amp;mdash; it will hang without a descriptive error message. If this happens please check the following:&lt;br /&gt;
* Whether the file is correctly encoded.&amp;lt;br /&amp;gt; All CKEditor files are UTF-8 encoded. ANSI files will be rejected.&lt;br /&gt;
* Whether the file does not contain BOM.&lt;br /&gt;
* Whether the file structure was not altered in any way.&lt;br /&gt;
*; You can run &amp;lt;code&amp;gt;msgfmt -c&amp;lt;/code&amp;gt; on the file to check its correctness before you attempt to upload it.&lt;br /&gt;
&lt;br /&gt;
=== Transifex reports a failed file correctness check ===&lt;br /&gt;
On uploading the file Transifex may report that the file is malformed.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_offline_translation_error.png|thumb|600px|center|Failed file correctness check in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As suggested by Transifex, check the file by running &amp;lt;code&amp;gt;msgfmt -c&amp;lt;/code&amp;gt;. Possible causes of the error might be:&lt;br /&gt;
* BOM is present at the beginning of the file.&lt;br /&gt;
* The &amp;lt;code&amp;gt;.po&amp;lt;/code&amp;gt; file structure was altered and is no longer compliant with the project resources.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_language_codes.png&amp;diff=7268</id>
		<title>File:Transifex language codes.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_language_codes.png&amp;diff=7268"/>
				<updated>2013-02-28T15:02:13Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex language codes.png&amp;amp;quot;: Updated to Feb 2013 look&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Language codes available in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Tips&amp;diff=7267</id>
		<title>CKEditor 3.x/Developers Guide/Localization Tips</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Tips&amp;diff=7267"/>
				<updated>2013-02-28T14:55:18Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Updated to February 2013 look and feel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#CUSTOMTITLE:CKEditor Localization Tips}}&lt;br /&gt;
Below are some tips that can speed up the translation process and make our workflow more understandable.&lt;br /&gt;
# When translating, concentrate on incomple resources first and only after they are done, attempt to correct the extisting entries.&lt;br /&gt;
# When using the online Transifex editor, see the list of [http://help.transifex.com/intro/translating.html#keyboard-shortcuts available keyboard shortcuts] that can make a translator's life much easier. The shortcuts list are also available in the editor when you click the [[Image:Transifex_online_translation_keyboard.png]] (keyboard) icon near the progress bar at the top of the editor.&lt;br /&gt;
# In translation the context is everything. The source language string might sometimes be ambiguous, so in the online editor you can open the '''Details''' tab for each source string and check its context that is described in the '''Developer comment''' field. Please use this feature often to avoid misunderstandings!&lt;br /&gt;
# If you are not a long-time CKEditor user or developer, we recommend you get acquainted with the [http://ckeditor.com/demo editor demo] or even [http://ckeditor.com/download download and install CKEditor] on your local computer. This will make it easier for you to understand the look and feel of the application as well as its structure and building blocks.&lt;br /&gt;
# Transifex includes a very useful feature called &amp;quot;[http://help.transifex.com/intro/translating.html#translation-suggestions suggestions]&amp;quot;. You can use it to propose a better version of an existing translation and let the team coordinator or fellow team members decide which version should be used. Additionally, when you are unsure as to how to translate a term, you can propose several versions as suggestions and let other users vote on them. You will find the '''Suggestions''' tab for each entry in the online editor. This list also contains automatic suggestions based on the translation memory &amp;amp;mdash; if other similar entries are found, they will be displayed here along with the percent value for similarity.&lt;br /&gt;
# Use the file locking feature reasonably and do not lock a file for longer than is necessary. If you know you will not be able to finish your work in one go, you can submit a partially complete translation and come back to it when you have more time to spare.&lt;br /&gt;
# Each language team can use its own discussion board for all discussions regarding the translations, division of work, schedules etc. Use this feature to coordinate team work or consult fellow team members.&lt;br /&gt;
# Last but not least, remember that Transifex is based on team work. Treat fellow team members as you would like to be treated by them; it is not about competition, it is about cooperation with others and working together to achieve a common goal.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7266</id>
		<title>CKEditor 3.x/Developers Guide/Localization Teams</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7266"/>
				<updated>2013-02-28T14:45:10Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: /* Requesting a New Team */ Updated part 3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:CKEditor Localization Teams}}&lt;br /&gt;
CKEditor translation is based on language teams. The CKEditor resources are localized by dedicated teams of users that manage the translations into their native language. Bringing CKEditor to the users all around the world and making the editor available in as many languages as possible are our priorities. This is why all CKEditor developers and users are most welcome to join our [https://www.transifex.com/projects/p/ckeditor/ localization project on Transifex] and to contribute their translations.&lt;br /&gt;
&lt;br /&gt;
== Joining CKEditor Localization Team ==&lt;br /&gt;
CKSource is always looking for new translators willing to join the CKEditor localization project, complete existing translations, and add new language versions. If you want to contribute, proceed as described below:&lt;br /&gt;
# '''Register on the Transifex website.'''&lt;br /&gt;
#; You can [https://www.transifex.com/ sign up for free] by using the &amp;quot;Sign Up Free&amp;quot; button in the top right-hand corner of the Transifex homepage. You will be redirected to the [https://www.transifex.com/signup/ signup form page]. Fill in your personal details and register the account. You will need to confirm your account by clicking the link from the validation e-mail.&lt;br /&gt;
# '''[https://www.transifex.com/signin/ Log in] and complete your profile.'''&lt;br /&gt;
#; Go to the '''[https://www.transifex.com/settings/ User account]''' section of your dashboard (by clicking your username in the top right-hand corner) and fill in the information that can tell other contributors something more about yourself.&lt;br /&gt;
# '''Join a CKEditor translation team.'''&lt;br /&gt;
#; Go to the [https://www.transifex.com/projects/p/ckeditor/ project's site] and see the list of available language teams. If you find a suitable one, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Joining_a_Team|join it]]. If a language has the &amp;quot;(no team yet)&amp;quot; caption or it is not listed, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Requesting_a_New_Team|request the creation of a new team]] for your native language.&lt;br /&gt;
#; Your requests will need to be approved by one of the maintainers or coordinators before you can actively contribute to the project.&lt;br /&gt;
&lt;br /&gt;
=== Joining a Team ===&lt;br /&gt;
Go to the [https://www.transifex.com/projects/p/ckeditor/ CKEditor project page] and click a language that you want to join. Click '''Join team''' to request access to an existing team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_01.png|thumb|center|800px|Joining an existing team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
After you click the '''Join language translation''' button, a notification will be sent to the team coordinator. Your user name will now appear on the waiting list and you will be able to withdraw your application by clicking the '''Withdraw''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_02.png|thumb|center|800px|Team waiting list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The request will also be visible in your dashboard &amp;amp;mdash; see the '''Recent Events''' list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_recent_activity_01.png|frame|center|Recent Events list in Transifex dashboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. Your username will also appear on the language team page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_team_members.png|thumb|center|800px|Team members list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can now start translating project resources within your language team.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;Please note that in order to join more language teams you need to apply to all of them separately.&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Requesting a New Team ===&lt;br /&gt;
If a team for your native language does not exist, you can request creating a new one. Please note that two situations may occur.&lt;br /&gt;
&lt;br /&gt;
CKEditor may already have some translations for your native language coming from the past, but no team coordinates these efforts on Transifex. If this is the case, the language will be listed as '''''Language'' (no team yet)''' on the [https://www.transifex.com/projects/p/ckeditor/ project page].&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_no_team.png|thumb|center|800px|Languages without a team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is the case, choose the language and then proceed as described in the [[CKEditor_3.x/Developers_Guide/Localization_Teams#Joining_a_Team|Joining a Team]] section. Your request will be sent to project maintainers and when accepted, you will become the team coordinator.&lt;br /&gt;
&lt;br /&gt;
If, however, the language of your choice is not listed, just click the '''Request language''' link above the languages list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_01.png|thumb|center|800px|Requesting a new team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following form will open, letting you choose a language for the team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_02.png|thumb|center|800px|Requesting a new team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;note&amp;gt;Please note that CKEditor uses two-letter ISO 639-1 language codes (like &amp;lt;code&amp;gt;de&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;it&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fi&amp;lt;/code&amp;gt;) for the majority of translations. In some cases, when a regional variation is required, the four-letter language code can be used (like in &amp;lt;code&amp;gt;pt_BR&amp;lt;/code&amp;gt; for Brazilian Portuguese). Please contact the project maintainers if you have any doubts in this regard.&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you click the '''Request team''' button, a notification will be sent to the project maintainers. The requested team will now appear on the waiting list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_03.png|thumb|center|800px|Pending team requests in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The request will also be visible in your dashboard &amp;amp;mdash; see the '''Recent Events''' list.&lt;br /&gt;
 &lt;br /&gt;
[[Image:Transifex_recent_activity_02.png|frame|center|Recent Events list in Transifex dashboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. The new language will also immediately become available on the main project page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_teams_01.png|frame|center|Language teams list in Transifex]]&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_request_team_01.png&amp;diff=7265</id>
		<title>File:Transifex request team 01.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_request_team_01.png&amp;diff=7265"/>
				<updated>2013-02-28T14:21:34Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Requesting a new team in Transifex&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Requesting a new team in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_no_team.png&amp;diff=7264</id>
		<title>File:Transifex no team.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_no_team.png&amp;diff=7264"/>
				<updated>2013-02-28T13:15:03Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: The (no team yet) captions on the languages list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The (no team yet) captions on the languages list&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7263</id>
		<title>CKEditor 3.x/Developers Guide/Localization Teams</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7263"/>
				<updated>2013-02-28T12:52:21Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: /* Joining a Team */ Updated part 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:CKEditor Localization Teams}}&lt;br /&gt;
CKEditor translation is based on language teams. The CKEditor resources are localized by dedicated teams of users that manage the translations into their native language. Bringing CKEditor to the users all around the world and making the editor available in as many languages as possible are our priorities. This is why all CKEditor developers and users are most welcome to join our [https://www.transifex.com/projects/p/ckeditor/ localization project on Transifex] and to contribute their translations.&lt;br /&gt;
&lt;br /&gt;
== Joining CKEditor Localization Team ==&lt;br /&gt;
CKSource is always looking for new translators willing to join the CKEditor localization project, complete existing translations, and add new language versions. If you want to contribute, proceed as described below:&lt;br /&gt;
# '''Register on the Transifex website.'''&lt;br /&gt;
#; You can [https://www.transifex.com/ sign up for free] by using the &amp;quot;Sign Up Free&amp;quot; button in the top right-hand corner of the Transifex homepage. You will be redirected to the [https://www.transifex.com/signup/ signup form page]. Fill in your personal details and register the account. You will need to confirm your account by clicking the link from the validation e-mail.&lt;br /&gt;
# '''[https://www.transifex.com/signin/ Log in] and complete your profile.'''&lt;br /&gt;
#; Go to the '''[https://www.transifex.com/settings/ User account]''' section of your dashboard (by clicking your username in the top right-hand corner) and fill in the information that can tell other contributors something more about yourself.&lt;br /&gt;
# '''Join a CKEditor translation team.'''&lt;br /&gt;
#; Go to the [https://www.transifex.com/projects/p/ckeditor/ project's site] and see the list of available language teams. If you find a suitable one, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Joining_a_Team|join it]]. If a language has the &amp;quot;(no team yet)&amp;quot; caption or it is not listed, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Requesting_a_New_Team|request the creation of a new team]] for your native language.&lt;br /&gt;
#; Your requests will need to be approved by one of the maintainers or coordinators before you can actively contribute to the project.&lt;br /&gt;
&lt;br /&gt;
=== Joining a Team ===&lt;br /&gt;
Go to the [https://www.transifex.com/projects/p/ckeditor/ CKEditor project page] and click a language that you want to join. Click '''Join team''' to request access to an existing team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_01.png|thumb|center|800px|Joining an existing team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
After you click the '''Join language translation''' button, a notification will be sent to the team coordinator. Your user name will now appear on the waiting list and you will be able to withdraw your application by clicking the '''Withdraw''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_02.png|thumb|center|800px|Team waiting list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The request will also be visible in your dashboard &amp;amp;mdash; see the '''Recent Events''' list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_recent_activity_01.png|frame|center|Recent Events list in Transifex dashboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. Your username will also appear on the language team page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_team_members.png|thumb|center|800px|Team members list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can now start translating project resources within your language team.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;Please note that in order to join more language teams you need to apply to all of them separately.&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Requesting a New Team ===&lt;br /&gt;
If a team for your native language does not exist, you can request creating a new one.&lt;br /&gt;
&lt;br /&gt;
Go to the translation [https://www.transifex.net/projects/p/ckeditor/teams/ teams page] on the project's site and click the '''Request a new team''' button. The following form will open, letting you choose a language for the team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_02.png|thumb|center|800px|Requesting a new team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;note&amp;gt;Please note that CKEditor uses two-letter ISO 639-1 language codes (like &amp;lt;code&amp;gt;de&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;it&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fi&amp;lt;/code&amp;gt;) for the majority of translations. In some cases, when a regional variation is required, the four-letter language code can be used (like in &amp;lt;code&amp;gt;pt_BR&amp;lt;/code&amp;gt; for Brazilian Portuguese). Please contact the project maintainers if you have any doubts in this regard.&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you click the '''Request Team''' button, a notification will be sent to the project maintainers. The requested team will now appear on the waiting list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_03.png|thumb|center|800px|Pending team requests in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The request will also be visible in your profile — see the '''Recent activity''' list.&lt;br /&gt;
 &lt;br /&gt;
[[Image:Transifex_recent_activity_02.png|frame|center|Recent activity list in Transifex profile]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. The new team will also immediately appear on the main project teams page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_teams_01.png|frame|center|Language teams list in Transifex]]&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_recent_activity_01.png&amp;diff=7262</id>
		<title>File:Transifex recent activity 01.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_recent_activity_01.png&amp;diff=7262"/>
				<updated>2013-02-28T12:50:12Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex recent activity 01.png&amp;amp;quot;: Updated to Feb 2013 look&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Recent activity list in Transifex profile&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_join_team_02.png&amp;diff=7261</id>
		<title>File:Transifex join team 02.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_join_team_02.png&amp;diff=7261"/>
				<updated>2013-02-28T12:48:21Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex join team 02.png&amp;amp;quot;: Updated to Feb 2013 look&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Team waiting list in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_join_team_01.png&amp;diff=7260</id>
		<title>File:Transifex join team 01.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_join_team_01.png&amp;diff=7260"/>
				<updated>2013-02-28T12:45:19Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex join team 01.png&amp;amp;quot;: Updated to Feb 2013 look&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joining an existing team in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_team_members.png&amp;diff=7259</id>
		<title>File:Transifex team members.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_team_members.png&amp;diff=7259"/>
				<updated>2013-02-28T12:42:39Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex team members.png&amp;amp;quot;: Updated to Feb 2013 look&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Team members list in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=File:Transifex_join_team_01.png&amp;diff=7258</id>
		<title>File:Transifex join team 01.png</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=File:Transifex_join_team_01.png&amp;diff=7258"/>
				<updated>2013-02-28T12:34:40Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Anna uploaded a new version of &amp;amp;quot;File:Transifex join team 01.png&amp;amp;quot;: Updated to Feb 2013 look&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joining an existing team in Transifex&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7257</id>
		<title>CKEditor 3.x/Developers Guide/Localization Teams</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=CKEditor_3.x/Developers_Guide/Localization_Teams&amp;diff=7257"/>
				<updated>2013-02-28T12:21:51Z</updated>
		
		<summary type="html">&lt;p&gt;Anna: Updated part 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{#CUSTOMTITLE:CKEditor Localization Teams}}&lt;br /&gt;
CKEditor translation is based on language teams. The CKEditor resources are localized by dedicated teams of users that manage the translations into their native language. Bringing CKEditor to the users all around the world and making the editor available in as many languages as possible are our priorities. This is why all CKEditor developers and users are most welcome to join our [https://www.transifex.com/projects/p/ckeditor/ localization project on Transifex] and to contribute their translations.&lt;br /&gt;
&lt;br /&gt;
== Joining CKEditor Localization Team ==&lt;br /&gt;
CKSource is always looking for new translators willing to join the CKEditor localization project, complete existing translations, and add new language versions. If you want to contribute, proceed as described below:&lt;br /&gt;
# '''Register on the Transifex website.'''&lt;br /&gt;
#; You can [https://www.transifex.com/ sign up for free] by using the &amp;quot;Sign Up Free&amp;quot; button in the top right-hand corner of the Transifex homepage. You will be redirected to the [https://www.transifex.com/signup/ signup form page]. Fill in your personal details and register the account. You will need to confirm your account by clicking the link from the validation e-mail.&lt;br /&gt;
# '''[https://www.transifex.com/signin/ Log in] and complete your profile.'''&lt;br /&gt;
#; Go to the '''[https://www.transifex.com/settings/ User account]''' section of your dashboard (by clicking your username in the top right-hand corner) and fill in the information that can tell other contributors something more about yourself.&lt;br /&gt;
# '''Join a CKEditor translation team.'''&lt;br /&gt;
#; Go to the [https://www.transifex.com/projects/p/ckeditor/ project's site] and see the list of available language teams. If you find a suitable one, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Joining_a_Team|join it]]. If a language has the &amp;quot;(no team yet)&amp;quot; caption or it is not listed, [[CKEditor_3.x/Developers_Guide/Localization_Teams#Requesting_a_New_Team|request the creation of a new team]] for your native language.&lt;br /&gt;
#; Your requests will need to be approved by one of the maintainers or coordinators before you can actively contribute to the project.&lt;br /&gt;
&lt;br /&gt;
=== Joining a Team ===&lt;br /&gt;
Go to the translation [https://www.transifex.net/projects/p/ckeditor/teams/ teams page] on the project's site and click a team that you want to join. Accept the contributor license agreements and click '''Join this Team''' to request access to an existing team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_01.png|thumb|center|800px|Joining an existing team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
After you click the '''Join this Team''' button, a notification will be sent to the team coordinator. Your user name will now appear on the waiting list and you will be able to withdraw your application by clicking the '''Withdraw''' button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_join_team_02.png|thumb|center|800px|Team waiting list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The request will also be visible in your profile — see the '''Recent activity''' list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_recent_activity_01.png|frame|center|Recent activity list in Transifex profile]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. Your user name will also appear on the language team page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_team_members.png|thumb|center|800px|Team members list in Transifex]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can now start translating project resources within your language team.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;Please note that in order to join more language teams you need to apply to all of them separately.&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Requesting a New Team ===&lt;br /&gt;
If a team for your native language does not exist, you can request creating a new one.&lt;br /&gt;
&lt;br /&gt;
Go to the translation [https://www.transifex.net/projects/p/ckeditor/teams/ teams page] on the project's site and click the '''Request a new team''' button. The following form will open, letting you choose a language for the team.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_02.png|thumb|center|800px|Requesting a new team in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;note&amp;gt;Please note that CKEditor uses two-letter ISO 639-1 language codes (like &amp;lt;code&amp;gt;de&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;it&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fi&amp;lt;/code&amp;gt;) for the majority of translations. In some cases, when a regional variation is required, the four-letter language code can be used (like in &amp;lt;code&amp;gt;pt_BR&amp;lt;/code&amp;gt; for Brazilian Portuguese). Please contact the project maintainers if you have any doubts in this regard.&amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you click the '''Request Team''' button, a notification will be sent to the project maintainers. The requested team will now appear on the waiting list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_request_team_03.png|thumb|center|800px|Pending team requests in Transifex]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The request will also be visible in your profile — see the '''Recent activity''' list.&lt;br /&gt;
 &lt;br /&gt;
[[Image:Transifex_recent_activity_02.png|frame|center|Recent activity list in Transifex profile]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When your request is approved, you will receive an e-mail notification. The new team will also immediately appear on the main project teams page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Transifex_teams_01.png|frame|center|Language teams list in Transifex]]&lt;/div&gt;</summary>
		<author><name>Anna</name></author>	</entry>

	</feed>