From 43a06151e47d2c59b833cbd8c26d97865ee850b6 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Thu, 7 Jun 2012 00:56:06 -0700 Subject: starting to work... --- rt/docs/README.docs | 2 - rt/docs/Security | 12 - rt/docs/creating_external_custom_fields.pod | 97 -- rt/docs/design_docs/3.3-schema-redesign.txt | 57 - rt/docs/design_docs/CARS | 66 -- rt/docs/design_docs/TransactionTypes.txt | 48 - rt/docs/design_docs/acls | 50 - rt/docs/design_docs/approval_notices | 8 - rt/docs/design_docs/approval_template | 25 - rt/docs/design_docs/cf_search | 72 -- rt/docs/design_docs/cli_spec | 31 - rt/docs/design_docs/cvs_integration | 164 --- rt/docs/design_docs/delegation | 115 -- rt/docs/design_docs/evil_plans | 162 --- .../design_docs/gnupg_details_on_output_formats | 1253 -------------------- rt/docs/design_docs/groups_notes | 88 -- rt/docs/design_docs/link-definitions.txt | 143 --- rt/docs/design_docs/realflow.txt | 191 --- .../recursive_group_membership_algorithm | 109 -- rt/docs/design_docs/rql_parser_machine.graphviz | 35 - rt/docs/design_docs/rt-mvc | 32 - rt/docs/design_docs/ruleset-workflow.txt | 158 --- rt/docs/design_docs/subscription-definitions.txt | 113 -- rt/docs/design_docs/ticket_templates | 16 - rt/docs/design_docs/users | 14 - rt/docs/extending_clickable_links.pod | 157 --- rt/docs/gnupg_integration.pod | 1 - rt/docs/perlcritic.pod | 8 - rt/docs/porting.windows | 24 - rt/docs/queue_subject_tag.pod | 79 -- rt/docs/rt3-schema-relationships.dot | 89 -- rt/docs/templates.pod | 65 - rt/docs/timezones_in_charts.pod | 84 -- rt/docs/using_forms_widgets.pod | 113 -- 34 files changed, 3681 deletions(-) delete mode 100755 rt/docs/README.docs delete mode 100644 rt/docs/Security delete mode 100644 rt/docs/creating_external_custom_fields.pod delete mode 100644 rt/docs/design_docs/3.3-schema-redesign.txt delete mode 100755 rt/docs/design_docs/CARS delete mode 100755 rt/docs/design_docs/TransactionTypes.txt delete mode 100644 rt/docs/design_docs/acls delete mode 100644 rt/docs/design_docs/approval_notices delete mode 100644 rt/docs/design_docs/approval_template delete mode 100644 rt/docs/design_docs/cf_search delete mode 100644 rt/docs/design_docs/cli_spec delete mode 100644 rt/docs/design_docs/cvs_integration delete mode 100644 rt/docs/design_docs/delegation delete mode 100644 rt/docs/design_docs/evil_plans delete mode 100644 rt/docs/design_docs/gnupg_details_on_output_formats delete mode 100644 rt/docs/design_docs/groups_notes delete mode 100644 rt/docs/design_docs/link-definitions.txt delete mode 100644 rt/docs/design_docs/realflow.txt delete mode 100644 rt/docs/design_docs/recursive_group_membership_algorithm delete mode 100644 rt/docs/design_docs/rql_parser_machine.graphviz delete mode 100644 rt/docs/design_docs/rt-mvc delete mode 100644 rt/docs/design_docs/ruleset-workflow.txt delete mode 100755 rt/docs/design_docs/subscription-definitions.txt delete mode 100644 rt/docs/design_docs/ticket_templates delete mode 100644 rt/docs/design_docs/users delete mode 100644 rt/docs/extending_clickable_links.pod delete mode 100644 rt/docs/gnupg_integration.pod delete mode 100644 rt/docs/perlcritic.pod delete mode 100644 rt/docs/porting.windows delete mode 100644 rt/docs/queue_subject_tag.pod delete mode 100644 rt/docs/rt3-schema-relationships.dot delete mode 100644 rt/docs/templates.pod delete mode 100644 rt/docs/timezones_in_charts.pod delete mode 100644 rt/docs/using_forms_widgets.pod (limited to 'rt/docs') diff --git a/rt/docs/README.docs b/rt/docs/README.docs deleted file mode 100755 index 38866b357..000000000 --- a/rt/docs/README.docs +++ /dev/null @@ -1,2 +0,0 @@ -Questions about docs should be sent to the RT Documentation Team (rt-docs@fsck.com) -which is led by Meri. diff --git a/rt/docs/Security b/rt/docs/Security deleted file mode 100644 index 51ddfabdb..000000000 --- a/rt/docs/Security +++ /dev/null @@ -1,12 +0,0 @@ -Security tips for running RT3 - -0 Protect your RT installation by making it only accessible via SSL - -1 Be sure to change the password for the root user of RT. The default password is "password". This can be changed via the RT web interface at: Preferences > About me - -2 Be sure to protect your RT_SiteConfig.pm file if it contains database credentials or other sensitive information. This file only needs to be readable by RT and your web server. One way to accomplish this is to make the file readable only by root and the group that RT runs as, and then make sure your web server is a member of that group. Advanced configuration may be required if other users have the ability to run CGIs or access the server where RT is running. Otherwise, those users may have access to become RT superusers. - -3 Be sure to protect your database. If it does not need to talk to the world, then don't allow it to listen for remote connections. With MySQL this can be accomplished via "skip-networking". If you use your database for other things and must allow remote connections, be sure to use a strong, hard to guess password for RT. - -4 Apache, lighttpd, and most other web servers support name based virtual hosts. When possible, configure RT as a name based virtual host to raise the bar against DNS rebinding attacks. Note: If when you visit http://your.servers.ipaddress.here you see RT, it means you are not likely getting this additional protection. - diff --git a/rt/docs/creating_external_custom_fields.pod b/rt/docs/creating_external_custom_fields.pod deleted file mode 100644 index f8eca44fb..000000000 --- a/rt/docs/creating_external_custom_fields.pod +++ /dev/null @@ -1,97 +0,0 @@ -=head1 External custom fields - -=head2 Description - -C is extension to custom fields that allow -you to define CF with a dynamic list of values. Loading values into -this custom fields requires writing a little Perl code to fetch the -data from the external source; the code that we added to RT 3.7 -allows it to load data from arbitrary external sources. - -=head2 Introduction into writing source of values - -For each type of data source that you want, you'll need to put a file -in F (or equivilent if you -installed RT someplace other than F). To get a sense of the -code that you'll need to write, take a look at the code in -L for a simple example -which just uses RT's API to pull in a list of RT's groups. - -Running C will -show you the documentation for the API that needs to be fulfilled, by -copying and editing the C example is probably a fine place to -start. - -Later in this doc we'll describe the example a little bit more. - -=head2 Configuration - -After the custom code is written, you need to tell RT about its -existence by adding something like following to your RT_SiteConfig.pm: -Set(@CustomFieldValuesSources, "RT::CustomFieldValues::MySource"); - -The value in quotes should be the name of the class that you created. - -Stop and start your web server to enable any config changes. Open the web interface with -as an administrative user (such as root) create new custom field. In order to use -a custom source of values, you should select a custom field type -that lets users pick values from a list, for example it could be C box using: - <& /Widgets/Form/Integer:InputOnly, - Name => 'NameOfInputElement', - &> - -In such a simple case you even can avoid processing. Yeah, most probably -you want to check if value is really integer, but these widgets don't -do validation for you, but they are more about fetching values from -hash of arguments, showing these values to user and preserving state -of value between form reloads (see below). - -=head2 Processing - -Processing is required when you use L, -such as Default, Multiple or Alternative. - -To process arguments of a request you have to do the following: - $ARGS{'NameOfInputElement'} = $m->comp( - '/Widgets/Form/Integer:Process', - Arguments => \%ARGS, - Name => 'NameOfInputElement', - ); - -The method returns processed value in canonical form. For different widgets -a canonical form is different and depends on activated features, so you must -always activate the same features during showing a widget and processing -results. - -=head2 Extendent features - -=head3 Default value - -If C argument is true then widgets expect that there is some -default value for argument if user fills nothing. 'Nothing' in each -widget is different, for example in select box it's special option -which is always the first one, in integer box string '' means empty -value, but boolean box uses radio buttons in this case with three -options: Yes, No and Default. - -Each widget that supports C feature as well has C and -C arguments. - -=head4 Processing and showing with activated Default feature - -When this option is activated then C method returns undef -value if user selected default value. So for integer box it's empty -string and so on. - -As well when you show a widget you should pass undef as C -to inform widget that the current value is default one. - -As all methods of a widget are consistent in this behaviour so you -shouldn't care much about that, but this allows you to implement -custom actions if processing returned undef, for example delete user's -preference record instead of updating it (default value may change later to). - -=head4 C when C is not active - -DefaultValue argument is still actual in the Process method even if -C is not true. This argument defines intial value. If value -of a key in Arguments is not defined then it's treated as intial state -and the method returns default value. - -=head3 Multiple and Alternative - -These options are only supported by the select widget. - -TODO: Add more info - -=head2 Implementation details - -=head3 Boolean widget - -This widget a little bit tricky. When you use Default option then -things are simple and you see three radio buttons, but in other -case we use a checkbox. But as you know browsers don't pass unchecked -boxes to server, so arguments of a request has no entry for them. - -In the latter case it's hard to figure out case when user unselected -value. Imagine form with a checkbox, you want show it checked by -default and as well form is reloadable (like Reply forms that have -"Add Another File" buttons). User uncheck the box and then upload -file, in this case you want to show user's choice instead of default, -but browser doesn't send any value and you can not figure out if -it's initial state or page reload. To solve this problem we use magic -hidden input field with the same name as the box and value equal to -zero (0). Mason folds arguments with the same name into array refs, so -we get 0 if box is unchecked and [0, 1] if box is checked. An array -reference is true value and 0 is defined value so we know that it's -not initial state and avoid switching back to default. As well this -trick works good in a case when you want show a link to a page and -define default choice for some boolean argument, you don't need -to set argument twice, you just set it to true value (for ex. 1) and -things just work. - -- cgit v1.2.1