New Message: Re: No Bulletin Subscribers appearing?

webmaster at userland.com webmaster at userland.com
Tue Aug 3 12:35:09 PDT 2004


A new message was posted:

Address: http://manila.userland.com/discuss/msgReader$516

By: Tom Clifton (tclifton at es-designs.com)

Ok, let me try to explain this. The problem arises because a membership group can apply to multiple sites and people might want to be on bulletins for some sites, but not others.

To allow this behavior, Manila creates [yourManilaSite].#newsSite.bulletinsPrefName when a site is created. The prefsWizard that is created at this time is modified to use the bulletinsPrefName and will work correctly.

Unfortunately the signUpWizard that is used when people join the site is not modified and just stores the bulletins information in the users table. Interestingly, the code is there to do this, but it is commented out.

There are really two bug fixes that need to be done. Since these are in the Manila.root, they need to be done by Userland.

The first is a simple change. In ManilaSuite.members.signup page find the line "if defined (pta^.newsSite^.bulletinsPrefName) //PBS 10/28/00: handle nested bulletins pref name" and uncomment it.

Now when a new member joins the site, the bulletin preferences will be placed in the correct location.

The second change is a little more challenging because sites can have two locations for the bulletins preferences. They can either be in [yourManilaSite].#membershipGroup.users.bulletins or in [yourManilaSite].#membershipGroup.users.bulletins.[yourSiteName] and you want either to apply.

So the code should first check for preferences in [yourManilaSite].#membershipGroup.users.bulletins.[yourSiteName] and if that isn't defined, check for them in [yourManilaSite].#membershipGroup.users.bulletins.

To do this, go to manilaSuite.bulletins.getSubscribersTable and find the line "if not defined (adrBulletinPrefs^)" and comment it out. Then just below it add the following code:

if not defined (adrBulletinPrefs^) {
 adrBulletinPrefs = @adrUser^.bulletins;
 if not defined (adrBulletinPrefs^) {
 continue}}

Now bulletins will work regardless where the bulletins preferences are stored.

I have implemented both of these changes on my server and not seen any problems. But you can't assume that they are fully tested and bullet proof. So use them at your own risk.

Hope this helps




More information about the Frontier-Users mailing list