@@ -13,16 +13,27 @@ steps.
1313
1414.. contents::
1515
16+ Migrating from 1.4.20 to 1.4.21
17+ ===============================
18+
19+ The ``_generic.calendar.html`` page of the instance has been updated to include
20+ ``<meta name="robots" content="noindex, nofollow" />``. This prevents
21+ robots to follow all the links in the calendar. If you haven't modified the
22+ page on your local instance, you can simply replace it with the one in
23+ ``share/roundup/templates/classic/html/_generic.calendar.html``; if you did,
24+ you can add the tag manually. See issue2550765 and changeset a099ff2ceff3.
25+
26+
1627Migrating from 1.4.19 to 1.4.20
1728===============================
1829
1930Roundup used to allow certain HTML-Tags in OK- and Error-messages. Since
2031these messages are passed via the URL (due to roundup redirecting after
2132an edit), we did have security-issues (see issue2550724).
2233
23- If you have customized OK- or Error messages in your
24- roundup-installation and you're were using features like bold or italic
25- parts of the message you will have to do without this highlighting and
34+ If you have customized the OK or Error messages in your
35+ roundup-installation and you were using features like bold or italic
36+ in the message, you will have to do without this highlighting and
2637remove HTML tags from messages.
2738
2839If you were using <br> tags for multi-line messages, you now should use
@@ -121,10 +132,10 @@ search for this property::
121132 #!/usr/bin/python
122133 import os
123134 from roundup import instance
124-
135+
125136 tracker = instance.open(os.getcwd ())
126137 db = tracker.open('admin')
127-
138+
128139 for cl in sorted(db.getclasses()):
129140 print "Class:", cl
130141 for p in sorted(db.getclass(cl).properties.keys()):
@@ -220,7 +231,7 @@ assign it to the Anonymous role (replacing any previously assigned
220231
221232 +db.security.addPermission(name='Register', klass='user',
222233 + description='User is allowed to register new user')
223-
234+
224235 # Assign the appropriate permissions to the anonymous user's Anonymous
225236 # Role. Choices here are:
226237 # - Allow anonymous users to register
@@ -398,7 +409,7 @@ Migrating from 1.4.x to 1.4.2
398409=============================
399410
400411You should run the "roundup-admin migrate" command for your tracker once
401- you've installed the latest codebase.
412+ you've installed the latest codebase.
402413
403414Do this before you use the web, command-line or mail interface and before
404415any users access the tracker.
@@ -462,7 +473,7 @@ lists. This is reflected in several places:
462473
463474 * ``renderWith`` now has list attributes for ``sort`` and ``group``,
464475 where you previously wrote::
465-
476+
466477 renderWith(... sort=('-', 'activity'), group=('+', 'priority')
467478
468479 you write now::
@@ -675,7 +686,7 @@ The ``dbinit.py`` file has been split into two new files,
675686 tracker's ``dbinit.py`` file to this file. As the lines you're copying
676687 aren't part of a function definition anymore, one level of indentation
677688 needs to be removed (remove only the leading four spaces on each
678- line).
689+ line).
679690
680691 The first few lines -- those starting with ``from roundup.hyperdb
681692 import ...`` and the ``db = Database(config, name)`` line -- don't
@@ -735,11 +746,11 @@ own details by adding the following to ``schema.py``::
735746----------------------------
736747
737748If you used custom python functions in TemplatingUtils, they must
738- be moved from interfaces.py to a new file in the ``extensions`` directory.
749+ be moved from interfaces.py to a new file in the ``extensions`` directory.
739750
740751Each Function that should be available through TAL needs to be defined
741752as a toplevel function in the newly created file. Furthermore you
742- add an inititialization function, that registers the functions with the
753+ add an inititialization function, that registers the functions with the
743754tracker.
744755
745756If you find this too tedious, donfu wrote an automatic init function that
@@ -838,7 +849,7 @@ Due to a change in the rendering of web widgets, permissions are now
838849checked on Classes where they previously weren't (this is a good thing).
839850
840851You will need to add some additional Permission assignments for your
841- regular users, or some displays will break. After the following in your
852+ regular users, or some displays will break. After the following in your
842853tracker's ``dbinit.py``::
843854
844855 # Assign the access and edit Permissions for issue, file and message
@@ -972,11 +983,11 @@ Added internationalization support. This is done via encoding all data
972983stored in roundup database to utf-8 (unicode encoding). To support utf-8 in
973984web interface you should add the folowing line to your tracker's html/page
974985and html/_generic.help files inside <head> tag::
975-
986+
976987 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
977988
978989Since latin characters in utf-8 have the same codes as in ASCII table, this
979- modification is optional for users who use only plain latin characters.
990+ modification is optional for users who use only plain latin characters.
980991
981992After this modification, you will be able to see and enter any world
982993character via web interface. Data received via mail interface also converted
@@ -997,18 +1008,18 @@ timezone if he/she has provided timezone information. To make it possible
9971008some modification to tracker's schema and HTML templates are required.
9981009First you must add string property 'timezone' to user class in dbinit.py
9991010like this::
1000-
1001- user = Class(db, "user",
1011+
1012+ user = Class(db, "user",
10021013 username=String(), password=Password(),
1003- address=String(), realname=String(),
1014+ address=String(), realname=String(),
10041015 phone=String(), organisation=String(),
10051016 alternate_addresses=String(),
10061017 queries=Multilink('query'), roles=String(),
10071018 timezone=String())
1008-
1019+
10091020And second - html interface. Add following lines to
10101021$TRACKER_HOME/html/user.item template::
1011-
1022+
10121023 <tr>
10131024 <th>Timezone</th>
10141025 <td tal:content="structure context/timezone/field">timezone</td>
@@ -1412,7 +1423,7 @@ changing from::
14121423
14131424 from roundup import cgi_client, mailgw
14141425 from roundup.i18n import _
1415-
1426+
14161427 class Client(cgi_client.Client):
14171428 ''' derives basic CGI implementation from the standard module,
14181429 with any specific extensions
@@ -1423,8 +1434,8 @@ to::
14231434
14241435 from roundup import mailgw
14251436 from roundup.cgi import client
1426-
1427- class Client(client.Client):
1437+
1438+ class Client(client.Client):
14281439 ''' derives basic CGI implementation from the standard module,
14291440 with any specific extensions
14301441 '''
@@ -1466,7 +1477,7 @@ the replacement behaviour to occur now.
14661477
14671478The new configuration variables are:
14681479
1469- - EMAIL_KEEP_QUOTED_TEXT
1480+ - EMAIL_KEEP_QUOTED_TEXT
14701481- EMAIL_LEAVE_BODY_UNCHANGED
14711482- ADD_RECIPIENTS_TO_NOSY
14721483
@@ -1579,15 +1590,15 @@ the classic schema, the interfaces file is in::
15791590
15801591If you used the extended schema, the file is in::
15811592
1582- <roundup source>/roundup/templates/extended/dbinit.py
1593+ <roundup source>/roundup/templates/extended/dbinit.py
15831594
15841595If you have modified your dbinit.py file, you need to edit the dbinit.py
15851596file in your instance home directory. Find the lines which define the user
15861597class::
15871598
15881599 user = Class(db, "msg",
15891600 username=String(), password=Password(),
1590- address=String(), realname=String(),
1601+ address=String(), realname=String(),
15911602 phone=String(), organisation=String(),
15921603 alternate_addresses=String())
15931604
@@ -1618,7 +1629,7 @@ classic schema, the interfaces file is in::
16181629
16191630If you used the extended schema, the file is in::
16201631
1621- <roundup source>/roundup/templates/extended/dbinit.py
1632+ <roundup source>/roundup/templates/extended/dbinit.py
16221633
16231634If you have modified your dbinit.py file, you need to edit the dbinit.py
16241635file in your instance home directory. Find the lines which define the msg
@@ -1734,17 +1745,17 @@ If you have modified your dbinit.py file, you may use encoded passwords:
17341745
17351746 b. Where the password property is defined (around line 66)::
17361747
1737- user = Class(db, "user",
1748+ user = Class(db, "user",
17381749 username=String(), password=String(),
1739- address=String(), realname=String(),
1750+ address=String(), realname=String(),
17401751 phone=String(), organisation=String())
17411752 user.setkey("username")
17421753
17431754 alter the "password=String()" to "password=Password()"::
17441755
1745- user = Class(db, "user",
1756+ user = Class(db, "user",
17461757 username=String(), password=Password(),
1747- address=String(), realname=String(),
1758+ address=String(), realname=String(),
17481759 phone=String(), organisation=String())
17491760 user.setkey("username")
17501761
0 commit comments