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

Roundup Issue Tracker: http://roundup-tracker.org/