L: hXU'FFFF000000060001001777AA000000000076000000001001710000001-7FFB6FBE1800000480048063A200-112312B11F122063A222FFFF010311E00001000000390000000101964084063A22213B038C0002D63A1D1000020000019C00000000196,Radio Community Server is a software application for Radio UserLand or Frontier/Manila that makes it possible for individuals or organizations to host communities of Radio users. RCS features include the server-side of Radio upstreaming, easy configuration, stats and referral tracking, automated backups, nightly and hourly status reports in email, events tracking, and publish/subscribe for RSS and OPML.00040000000A000000020198000050000000A0000000201980000600000032000000010A210FFFF0A00000 20 000700000019000000010201800008000000970000000140,Geneva40,4030 100009000000150000000238F22838F228000A000000150000000263A22263A222000B00000005000000020000C00000017000000011963922131CB2000F0000005200000000400 10 4,77A4,r; 44,M; 4,@4,4,ge")4,C!00130000007E00000000DA91F8CE1C1D1E1F7F1B044,-..'"FFFF0FFFF0FFFE000000060001001777AA]_] ,%g';`y] " .H T` l ] authorUserLand Software, Inc. authorEmailwebmaster@userland.com descriptionX homePageUrlrcs.userland.com/localUrl /rcsAdmin/nameradioCommunityServer releaseDateversion1.0VVerdana eE[nxVVVerdana 2VHnVArial xyw?-LANDmac on any (pta) //boilerplate for your responder pta^.responseHeaders.["Content-Type"] = "text/html" pta^.code = 200 //everything was OK pta^.responseBody = "" //build response return (true) V2.xx any2.xx GO W condition9(string.lower (path) beginsWith "/radiocommunityserver/")enabledmethods VVerdana P2VHArial yyw?0LANDmac This script runs every hour. Arial GGzLANDmac bundle //test code that exercises weblogUpdates function local (day, month, year, hour, minute, second) date.get (clock.now (), @day, @month, @year, @hour, @minute, @second) if (minute % 7) == 0 radioCommunityServerSuite.testing.wlus.randomping () Arial yyw?0LANDmac This script runs every night. {w.yG  ". 9 everyHour A everyMinute everyNight {Ǧ~ Arial Ս'LANDmac on backupOneObject (folder, path, adrobject, adrstats) try local (f = folder + string.replaceall (path, "/", file.getpathchar ()) + "." + Frontier.getFileSuffix (typeof (adrobject^))) local (flwrite = true) if file.exists (f) if timemodified (adrobject) <= file.modified (f) flwrite = false if flwrite file.surefilepath (f) export.sendobject (adrobject, f) adrstats^.ctbackups++ else adrstats^.cterrors++ bundle //test code local (stats) bundle //setup stats new (tabletype, @stats) stats.ctbackups = 0 stats.cterrors = 0 backupOneObject (radioCommunityServerData.backup.prefs.folder, "radioCommunityServerData/initialFolder", @radioCommunityServerData.initialFolder, @stats) scratchpad.stats = stats  ; $Arial /"LANDmac Changes 3/10/02; 9:55:43 AM by DW Created. Strategy: We back up the essential data, and don't back up the aggregated data. The aggregations are large and change often and are reproducible. Stuff like the users table and the prefs are not reproducible, and when they change it's time to back them up. local (startticks = clock.ticks ()) local (adrdata = radioCommunityServerSuite.init ()) local (backupfolder = adrdata^.backup.prefs.folder, stats) bundle //setup stats new (tabletype, @stats) stats.ctbackups = 0 stats.cterrors = 0 bundle //back up small-ish top-level tables on toplevelbackup (adrobject) radioCommunityServerSuite.backup.backupOneObject (backupfolder, nameof (adrobject^), adrobject, @stats) toplevelbackup (@adrdata^.backup) toplevelbackup (@adrdata^.callbacks) toplevelbackup (@adrdata^.initialFolder) toplevelbackup (@adrdata^.prefs) toplevelbackup (@adrdata^.stats) bundle //back up rssHotlist radioCommunityServerSuite.backup.backupOneObject (backupfolder, "rssHotlist/prefs", @adrdata^.rssHotlist.prefs, @stats) radioCommunityServerSuite.backup.backupOneObject (backupfolder, "rssHotlist/stats", @adrdata^.rssHotlist.stats, @stats) on dofolder (folderpath, adrtable) local (tablename = nameof (adrtable^), adritem) for adritem in adrtable radioCommunityServerSuite.backup.backupOneObject (backupfolder, folderpath + tablename + "/" + nameof (adritem^), adritem, @stats) bundle //back up weblogStats local (adrgroup) for adrgroup in @adrdata^.weblogStats.groups dofolder ("weblogStats/groups/", adrgroup) radioCommunityServerSuite.backup.backupOneObject (backupfolder, "weblogStats/callbacks", @adrdata^.weblogStats.callbacks, @stats) radioCommunityServerSuite.backup.backupOneObject (backupfolder, "weblogStats/prefs", @adrdata^.weblogStats.prefs, @stats) radioCommunityServerSuite.backup.backupOneObject (backupfolder, "weblogStats/stats", @adrdata^.weblogStats.stats, @stats) bundle //back up weblogUpdates local (adritem) for adritem in @adrdata^.weblogUpdates if (nameof (adritem^) != "weblogs") and (nameof (adritem^) != "userAgents") dofolder ("weblogUpdates/", adritem) bundle //backup the users table local (adruser) for adruser in @adrdata^.users radioCommunityServerSuite.backup.backupOneObject (backupfolder, "users/" + nameof (adruser^), adruser, @stats) if adrdata^.prefs.flLogBackups radioCommunityServerSuite.log.add ("Backup", stats.ctbackups + " objects backed up, " + stats.cterrors + " errors.", startticks) ;rArial HO""LANDmac Changes 2/27/02; 4:34:06 PM by DW Created. A very simple lightweight backup system, prefs-driven. local (adrdata = radioCommunityServerSuite.init ()) local (ctMinutesBetween = adrdata^.backup.prefs.ctMinutesBetweenChecks) local (whenNextBackup = adrdata^.backup.stats.whenLastBackup + (ctMinutesBetween * 60)) local (flbackup = false) if clock.now () >= whenNextBackup if ctMinutesBetween < 60 //special case, synch up local (day, month, year, hour, minute, second) date.get (clock.now (), @day, @month, @year, @hour, @minute, @second) if (minute % ctMinutesBetween) == 0 flbackup = true else flbackup = true if flbackup adrdata^.backup.stats.whenLastBackup = clock.now () adrdata^.backup.stats.ctBackups++ radioCommunityServerSuite.backup.fullBackup () ~.*I  '3 @backupOneObject " fullBackup threadScript y 3/yy userx"k3Verdana OҸOLANDmac on createSite (siteUrl) Changes 3/10/02; 4:49:03 PM by JES Created. Create the rcsCommentsManilaSite. local (adrsysop) try //try to get the member table for the user specified by user.prefs.mailAddress adrsysop = mainResponder.members.getMemberTable ("admin", user.prefs.mailAddress) if not defined (adrsysop^) //use the first member in the admin group local (fmembers = system.temp.mainResponder.membersRootFile) local (adrgroup = @[fmembers].admin) adrsysop = @adrgroup^.users[1] local (shortSiteName = "rcsComments") local (siteName = shortSiteName + "ManilaWebsite") local (membershipGroupName = shortSiteName + "Members") local (discussionGroupName = shortSiteName + "Discuss") local (email = nameOf (adrsysop^)) local (password = adrsysop^.password) local (name = email) //default if defined (adrsysop^.personalInfo) if defined (adrsysop^.personalInfo.name) name = adrsysop^.personalInfo.name local (siteInfo = manilaSuite.clone (siteName, membershipGroupName, discussionGroupName, email, password, name, siteUrl, true, false, true, config.manila.prefs.hostingGdbName, "test")) bundle //set prefs local (adrsite = siteInfo.adrSite) local (adrnewssite = manilaSuite.getNewsSiteAddress (adrsite)) if not defined (adrnewssite^.radioHosting) new (tableType, @adrnewssite^.radioHosting) adrnewssite^.radioHosting.flEnabled = true adrnewssite^.flPublicMembersDgAccess config.manila.prefs.flRadioHostingEnabled = true return (siteInfo.adrSite) .Verdana DLANDmac Changes 3/10/02; 3:53:31 PM by JES Created. Initialize everything needed for the comments feature. local (adrsite) local (adrdata = radioCommunityServerSuite.init ()) bundle //prefs if not defined (adrdata^.prefs.commentsPageUrl) local (dn = adrdata^.prefs.serverDomainName) local (portstring = "") if adrdata^.prefs.serverPort != 80 portstring = ":" + adrdata^.prefs.serverPort adrdata^.prefs.commentsPageUrl = "" + dn + portstring + "/rcsComments/comments" bundle //manila site if not defined (rcsCommentsManilaWebsite) radioCommunityServerSuite.comments.createSite (string.popSuffix (adrdata^.prefs.commentsPageUrl, "/") + "/") bundle //set adrsite, site-level prefs adrsite = @rcsCommentsManilaWebsite bundle //if the URL changed, but the site is still on this server, change the site url local (siteurl = manilaSuite.getSiteUrl (adrsite)) local (urlParts = string.urlSplit (siteurl)) local (dn = urlParts[2], port = 80) if dn contains ":" port = string.nthField (dn, ":", 2) dn = string.nthField (dn, ":", 1) if tcp.dns.getDottedId (dn) == tcp.dns.getMyDottedId () if port == user.inetd.config.http.port local (urlInPrefs = string.popSuffix (adrdata^.prefs.commentsPageUrl, "/") + "/") if not (string.lower (urlInPrefs) == string.lower (siteurl)) manilaSuite.admin.changeSiteUrl (siteurl, urlInPrefs, adrsite) if not defined (config.manila.sites.rcsComments) config.manila.sites.rcsComments = @rcsCommentsManilaWebsite return (adrsite) .P$NO   createSitex"initx)VVerdana 2@8v.N:V  !+ : cellBgColorFFFFFF frameColorDCDCDChighlightColorE8F0FFVVerdana _;&V Vgif GIF89ap0ӿܽżֵֶսijЭӮЬ͵ĥ̦ǬTťͤIQ9ŋy#5|o~{Fu}~frtbkujk1o d{{{b}h|f[byf8ZybvXvVf3YrSrQnZmPkWfffLiJfJgJIdFbZZZB[CYL*aSJDI%;SpC%7M|JJJ: PD=~2BBB5NH<5f3p-333(;###!!},p0TRJEJTRJE XlB9ˑ ԄŇ([M4/)V-Yr>6@+08e&.<Ѥ&W(_μs1}W~]Զ /x UCa:O=t`X.Z4߂#m<>4 6>7jF!uewiFaMИ41f(4h7B8h}!o\qh҆hPB 'P1!0H )_~ 713XF㜨Yal 5@ 1԰B!H` @@0椔V/hR'm0gZ 1@Fj鬴& M0i jq¥$" ]V *i @ώ@4ᦉ::}(dLz 1Ī`ͺ*+ @N /ĸ&wbyw'P CF,@ʥj[ǀwj n=t.ĐbL t˹*t+7طaFq=+.p5VjQ@@G/c=k}4 O F2pb$xo@HpV0=iP8%"c)9ͅ|,WZr:@*x;{t9.}<+tۤ0LLޖ2F&%hHX(6͑9"J_ 9X Jf0ɡ d6=xTyGE bYS LV>#L}[RP0D! V8`@X;؁ e4Xl@CW$fGpIDPS]PVkP3W-;amngQ8x[gl+'Qt+ t͢w*+Z&RpP["UAo>ؗ{Zj(AOjh%Y(OCD[ȻIc{m 'punI,\gdjM_)'#V!OVі0o8xp{7R01Z守P֫pֺK4mފ`EP';aRonU+W?C ; Vgif GIF89a0޿߼غݷֳܷڳԮ׮Ѫ̥ӥΜΜƖ̖ɔ˒ĎǐŌÁ{{sz{ttvonqtjkfnfj~b`|bz\zXvVuXsYrSqPmRmViLiKfHcKaE`D^G\AZDW@V;S;Q}7M|4Kz1Gu!W,0@ڃ86822/'$$! H*\H7ΕSN=}"<؀ $@`@ ˗0cʜI͛8o2ɓ׏mHl 9~\0d,sJJիXʵׯ`KVsuЧǐP Jݻx WHؿL7s/ːAGqK˘i g\?ÕK.װ/sN?;CR$ LMt(_μ-6pBËO^jӣξrԹZgv$d!l[I|Y@ 柀曄(}O8 SK j饘Ħnħ**S:UZ]L8 *e뮼į6Îj짦r_88@QJHh% ⨣2Ԛ[t;䮰 Bk.Z;'û`+GaOd4 (İK*l¹!4ꐼ0pH@M 0 00$,)ܲ=U#?4 >@<-v), G l+Knծ"58/A+0 (`9-{L^2ǚz 6o'  /Kn/}{&: Hkǧ's;A􋓀F~ۏG'BǸ\@u+ʦSjGAxE,Ѐɀ Rp+(`F pBn 8f&@ 8HU \)Xa )h Wg\h j0.zцˡi& A? &<%p]P:N1~l@ vh]PAR؏FbJs@@;M"P 8hA #4Q@VR) fIY|'w@X!/؀f:PHjIE&r Lbn(Ir$5Ӧl d7Hķ>=suʌ`^X>P&9ꤦ艃$lF7 L`XGd }MJ-$ pA&G4 ]Nw* |rx`MeHMyxCX@2ԪZ8- h'+ծ'; gif GIF89ap4IT*FS4սʭ޻I˵Tŭ޲KΨ*ȤJ(B.1ҍt t|z)f%bjpr|~g~fyyzx/bgx`zsss`a klnk*\}hVfffh V\[[\MrhZ"OiBYbTIK_P8^O1PQShRAaJJJhFh@ 3SH9TBBBQ9::;1H333,85/+++-# -! !,p499| Ab ;H+hhjd Jc:|$IÅJYWb5-b݂;]5)j9W?75ulId֬ys3 plĉ %VPƂ7RpF3}VRXč.0@`MBh@ԭ`gw;tVHxKxavvU^}1|~=_XVg4:B =dHwyHXy>0 8]ч{u +6(c} eE,t "J8{VGNWCe2J4܀$DUaG?p[n dH0Gng7w}t@Z_*("ФRZtiԨpqNs|!"tF XAFe`rWcfD Tp@F[i oqEuk0MZh"h+ `5,o)*i$œwZ -j͋2E;aĬN4H2L'(WqGY\:fn,6:O {@Z@tJg ǞJDyZ'.`CqAVc GD|K-\PV%:պE+$`Vh /q*F{vXAGA #͚1%7o6ڍV$/?-o@|`~ЁBBb^# h `hSן,A HU=Ё|?geF)B؁ pvk@*v pNm 4"bBz?=@܃?ؠ|s\p"XF9  CJ$B\_J`  6 R< lǣ u@@%ꀐd XT,JdFXG"z% 4 uC ɰdJ|$*jdzgAP_PS {>/.c=^cM"ܤ2`frJFnx )l67P> xIN0ʨ Iz%@3IML|AD>\@eDr@BE)#p$3?` G)SʁKO F`Q< Ff`5(OX ZT MP4^5gXiF0*#nnjd>4x]BWaG@ˤQaXޕ.gdPW,4լ^%r-i(3gm-9e[ֵPZ5.h \4`FSӢhȉ,\֥ם+"`t(;^ӰeU :GNǐ^PYhT5 ^d7%<Nq3$p@Bբ2pADI0a$3K^pedCuV2؊{c ?;IS8\3_LJF "dws9ʟSDy n~-VT\feFb 74/')$P|"T Õ@hr& p` Q.9I '^\fcˇj5)T$nG*ać^-Gʿ3" b19ZcѸg1˗6v7@Y(s:x0.A4Ip$m>B.Ù |RYq+|.iXIW$-$HB-S#ƽy#cw' >pp5Vǐ@FbR%I"Iv;WPHR#)}),X\Q8@̪ _s\r3(h"xi>hdDa1»| o  C_H ³6FM0Xaz #Z2-30 ODE3̄Olj?*^ Q |&Arial -%)f)k!LANDmac It Worked!
 
spacer spacer
spacer Welcome to Radio UserLand
Your new site has been created.
spacer         

It Worked!

This is a placeholder for your new Radio UserLand website. This is what you see before there have been any updates.

To update your website, be sure the Radio UserLand application is running, then post a new item on the home page of your desktop website, then come back here in a few moments and you'll see your comments, in place of this starter text.

Thank you for choosing Radio UserLand, and we hope you enjoy using it!






© Copyright 2001 UserLand Software, Inc.
Last update: 11/27/01; 4:01:05 PM.



gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.