1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
setup
*make sure wa directory is under your http root as "webapp" , or change the
hosted_services.sql instead
*load hosted_services.sql as DBA via ISQL tool
* hit http://host:port/ods , if you see login there all is installed
Below are the infrastructure components for hosted services, such as blogs,
wikis and anything else. Compare this to the many-to-many between
various
yahoo features and yahoo accounts.
create type web_app as
wa_name varchar,
wa_member_model int,
method wa_id_string (), -- string in memberships list
method wa__join_request (login varchar),
method wa_state_edit_form (inout stream any), -- emit a state
edit form
into the stream, present this to owner for setting the state
wa_state_posted (in post any, inout stream), -- process a
post,
updating state and writing a reply into the stream for web
interface
method wa_home_url () returns varchar -- e the homepage url
of the
service instance
method wa_periodic_activity () -- send reminders,
invoices, refresh
content whatever is regularly done.
...);
create table wa_types (wat_name varchar, wat_type varchar,
primary key (wat_name));
-- wat_name is the print name of the service, e.g. blog. wat_type is the
udt name of a web_app subclass representing the service instance.
create table wa_instance (wai_name varchar, wai_inst web_app,
primary key (wai_name));
create table wa_member (wam_user int,-- references sys_users
wam_inst varchar references wa_instance,
wam_member_type int
primary key (wam_user, wam_inst, wam_member_type))
-- the member type is one of 1= owner 2= admin 3=regular Depending on
service type, other membership forms may exist.
When a user makes a service instance this user becomes the owner . This
is
irrevocable except by the owner self or system admin.
The UI will consist of:
-- page for making accounts
- page for making service instances. Show list of service types, make an
instance of one with the logged in user as owner.
page for listing existing service instances by type (allow for tyope
spec,
e.g. blogs only, wikis only)
Have a link for requesting to join, will be handled according to the
service instance's policies.
Page for service memberships - blogs, wikis etc where one participates,
lists the membership status. For owned services allows going to the
service dependent config page. Allows dropping the membership in
non-owned
services. Will have a link to the service instance's home page.
The added properties are:
- Is the member list visible to other members? Administrators and owner
will have access to this.
- Is the service viewable to public? If so, it will appear in the service
instance list, otherwise not.
Other:
- the membership application pending approval is marked by a value in the
membership class field of the membership table. Have -1 or something less
than all others to create a simple membership check of >= 0.
Pages:
Selecting a service instance will go to the home page of said service
instance, not show the members.
- The my services page will show all services with some type of
membership. There will be a link for membership options. his will be a
URL to a page chosen in function of the user and the service instance. For
owners this is editing the service instance's options. For other members
this is setting attributes of membership. These can be notification
delivery email, screen name in the service, any service dependent user
preferences which are not the service instance's global attributes. The
method may best return a link to another page.
Each service instance will have a public home page. This will, depending
on the type of public access show varying information. If the service is
completely not public accessible then this may only show a login form. For
owners and administrators this may show a different content and different
menu choices etc. For all membership categories except owner this will
show a terminate membership choice which will ask for confirmation.
***
|