Mercurial > p > roundup > code
comparison doc/customizing.txt @ 2159:c22329f379ae
*** empty log message ***
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Mon, 29 Mar 2004 05:57:49 +0000 |
| parents | d68eeb9d363f |
| children | 58b6d1747973 |
comparison
equal
deleted
inserted
replaced
| 2158:a0cfea4e5956 | 2159:c22329f379ae |
|---|---|
| 1 =================== | 1 =================== |
| 2 Customising Roundup | 2 Customising Roundup |
| 3 =================== | 3 =================== |
| 4 | 4 |
| 5 :Version: $Revision: 1.129 $ | 5 :Version: $Revision: 1.131 $ |
| 6 | 6 |
| 7 .. This document borrows from the ZopeBook section on ZPT. The original is at: | 7 .. This document borrows from the ZopeBook section on ZPT. The original is at: |
| 8 http://www.zope.org/Documentation/Books/ZopeBook/current/ZPT.stx | 8 http://www.zope.org/Documentation/Books/ZopeBook/current/ZPT.stx |
| 9 | 9 |
| 10 .. contents:: | 10 .. contents:: |
| 2837 | 2837 |
| 2838 Tracking different types of issues | 2838 Tracking different types of issues |
| 2839 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 2839 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 2840 | 2840 |
| 2841 Sometimes you will want to track different types of issues - developer, | 2841 Sometimes you will want to track different types of issues - developer, |
| 2842 customer support, systems, sales leads, etc. A single Rounup tracker is | 2842 customer support, systems, sales leads, etc. A single Roundup tracker is |
| 2843 able to support multiple types of issues. This example demonstrates adding | 2843 able to support multiple types of issues. This example demonstrates adding |
| 2844 a customer support issue class to a tracker. | 2844 a customer support issue class to a tracker. |
| 2845 | 2845 |
| 2846 1. Figure out what information you're going to want to capture. OK, so | 2846 1. Figure out what information you're going to want to capture. OK, so |
| 2847 this is obvious, but sometimes it's better to actually sit down for a | 2847 this is obvious, but sometimes it's better to actually sit down for a |
| 2854 support = IssueClass(db, "support", | 2854 support = IssueClass(db, "support", |
| 2855 assignedto=Link("user"), topic=Multilink("keyword"), | 2855 assignedto=Link("user"), topic=Multilink("keyword"), |
| 2856 status=Link("status"), deadline=Date(), | 2856 status=Link("status"), deadline=Date(), |
| 2857 affects=Multilink("system")) | 2857 affects=Multilink("system")) |
| 2858 | 2858 |
| 2859 3. We're going to restrict the users able to access this new class to just | 2859 3. Copy the existing "issue.*" (item, search and index) templates in the |
| 2860 the users with a new "SysAdmin" Role. To do this, we add some security | 2860 tracker's "html" to "support.*". Edit them so they use the properties |
| 2861 declarations:: | 2861 defined in the "support" class. Be sure to check for hidden form |
| 2862 variables like "required" to make sure they have the correct set of | |
| 2863 required properties. | |
| 2864 | |
| 2865 4. Edit the modules in the "detectors", adding lines to their "init" | |
| 2866 functions where appropriate. Look for "audit" and "react" registrations | |
| 2867 on the "issue" class, and duplicate them for "support". | |
| 2868 | |
| 2869 5. Create a new sidebar box for the new support class. Duplicate the | |
| 2870 existing issues one, changing the "issue" class name to "support". | |
| 2871 | |
| 2872 6. Re-start your tracker and start using the new "support" class. | |
| 2873 | |
| 2874 | |
| 2875 Optionally, you might want to restrict the users able to access this new | |
| 2876 class to just the users with a new "SysAdmin" Role. To do this, we add | |
| 2877 some security declarations:: | |
| 2862 | 2878 |
| 2863 p = db.security.getPermission('View', 'support') | 2879 p = db.security.getPermission('View', 'support') |
| 2864 db.security.addPermissionToRole('SysAdmin', p) | 2880 db.security.addPermissionToRole('SysAdmin', p) |
| 2865 p = db.security.getPermission('Edit', 'support') | 2881 p = db.security.getPermission('Edit', 'support') |
| 2866 db.security.addPermissionToRole('SysAdmin', p) | 2882 db.security.addPermissionToRole('SysAdmin', p) |
| 2867 | 2883 |
| 2868 You would then (as an "admin" user) edit the details of the appropriate | 2884 You would then (as an "admin" user) edit the details of the appropriate |
| 2869 users, and add "SysAdmin" to their Roles list. | 2885 users, and add "SysAdmin" to their Roles list. |
| 2870 | 2886 |
| 2871 4. Copy the existing "issue.*" (item, search and index) templates in the | 2887 Alternatively, you might want to change the Edit/View permissions granted |
| 2872 tracker's "html" to "support.*". Edit them so they use the properties | 2888 for the "issue" class so that it's only available to users with the "System" |
| 2873 defined in the "support" class. Be sure to check for hidden form | 2889 or "Developer" Role, and then the new class you're adding is available to |
| 2874 variables like "required" to make sure they have the correct set of | 2890 all with the "User" Role. |
| 2875 required properties. | |
| 2876 | |
| 2877 5. Edit the modules in the "detectors", adding lines to their "init" | |
| 2878 functions where appropriate. Look for "audit" and "react" registrations | |
| 2879 on the "issue" class, and duplicate them for "support". | |
| 2880 | |
| 2881 6. Create a new sidebar box for the new support class. Duplicate the | |
| 2882 existing issues one, changing the "issue" class name to "support". | |
| 2883 | |
| 2884 6. Re-start your tracker and start using the new "support" class. | |
| 2885 | 2891 |
| 2886 | 2892 |
| 2887 Using External User Databases | 2893 Using External User Databases |
| 2888 ----------------------------- | 2894 ----------------------------- |
| 2889 | 2895 |
