Archive for Mors Verden

Member Teams -> Social Groups del III

Jeg har testoverført data fra det gamle ibf_team (en gruppe) og ibf_team_members (og dets medlemmer) til hhv. ibf_social_groups og ibf_social_group_members og kan se at gruppen dukker op på forsiden af de nye netværk (socale grupper), men når jeg klikker på gruppen i oversigten får jeg en besked om at gruppen med denne id ikke findes.

Måske det er premissions der mangler?

Indhold af ibf_social_groups_perms med de to oprettede fora i det nye system:

mysql> select * from ibf_social_groups_perms;
+----------+------------+------------+------------+-----------+--------+----------+--------+-------------+
| group_id | group_show | forum_show | forum_read | forum_use | invite | add_news | manage | admin_tools |
+----------+------------+------------+------------+-----------+--------+----------+--------+-------------+
|        1 | 1,2,3,4,5  | 1,2,3,4,5  | 3,4,5      | 3,4,5     | 3,4,5  | 4,5      | 5      | 5           |
|        2 | 1,2,3,4,5  | 1,2,3,4,5  | 3,4,5      | 3,4,5     | 3,4,5  | 4,5      | 5      | 5           |
+----------+------------+------------+------------+-----------+--------+----------+--------+-------------+

Det lader til at være nogle generelle settings med hvilke grupper der har hvilke rettigheder med gruppen. Da det umiddelbart som udgangspunkt skal være ens for alle grupper, kopierer jeg denne opsætning til alle de flyttede netværk fra team_members.

Fortsætter indtil videre med eksemplet cand.move:

insert into ibf_social_groups_perms (group_id, group_show, forum_show, forum_read, forum_use, invite, add_news, manage, admin_tools) values (14, "1,2,3,4,5", "1,2,3,4,5", "3,4,5", "3,4,5", "3,4,5", "4,5", "5", "5");

Gruppen kan stadig ikke ses når jeg klikker på den i oversigten! Suk.

Vi tager lige oversigten over alle tabeller i social_groups og ser hvad der ellers kunne mangle for det nyoprettede (flyttede) netværk. De markerede tabeller er ordnet.

  • ibf_social_group_members
  • ibf_social_groups
  • ibf_social_groups_cat
  • ibf_social_groups_invites
  • ibf_social_groups_news
  • ibf_social_groups_notes
  • ibf_social_groups_perms
  • ibf_social_groups_pm
  • ibf_social_groups_supermods
mysql> select * from ibf_social_groups_cat;
+--------+--------------+---------------+----------+---------------+------------+-----------+---------+
| cat_id | cat_position | cat_name      | cat_desc | cat_seo_name  | cat_locked | cat_forum | cat_vis |
+--------+--------------+---------------+----------+---------------+------------+-----------+---------+
|      1 |            1 | Uncategorized |          | uncategorized |          0 |         0 |      -1 |
+--------+--------------+---------------+----------+---------------+------------+-----------+---------+
1 row in set (0.00 sec)

… dette er blot en oversigt over kategorier og der er kun pt en. Ingen mangel i forhold til gruppe.

mysql> select * from ibf_social_groups_invites;
+--------+------------+--------------+-----------+----------------------------------+------------+------------+
| inv_id | inv_sender | inv_reciever | inv_group | inv_key                          | inv_date   | inv_status |
+--------+------------+--------------+-----------+----------------------------------+------------+------------+
|      1 |          1 |         7712 |         1 | 6b2dce6dde063aa91d1248924eff489b | 1347891315 |          1 |
+--------+------------+--------------+-----------+----------------------------------+------------+------------+
1 row in set (0.02 sec)

… dette er de liggende invitationer, som ikke er blevet besvaret. Der ligger pt en enkelt i forbindelse med en test jeg havde lavet. Det har heller ingen sammenhæng med den fejl jeg pt får med manglende gruppe, men det kunne dog være relevant evt. at tjekke op på om der er invites der ligger i det gamle system og om disse kan overføres. Ellers må det række at gøre opmærksom på at invites ikke bliver overført (de plejer nu også alligevel at blive slettet efter 2-3 døgn)

mysql> select * from ibf_social_groups_news;
Empty set (0.00 sec)

mysql> select * from ibf_social_groups_notes;
Empty set (0.00 sec)

mysql> select * from ibf_social_groups_pm;
Empty set (0.00 sec)

mysql> select * from ibf_social_groups_supermods;
Empty set (0.00 sec)

… heller ikke der mangler der noget for den nyoprettede gruppe, som de andre grupper har.

Jeg får fejlen:

 Cannot find group with this ID

Og klikker jeg på det seneste indlæg i gruppen som jeg kan se i oversigten, får jeg:

You must be a member of this group in order to view their forum.

Kunne der gemme sig noget relevant i en af de andre tabeller, som umiddelbart ikke har med de sociale grupper at gøre? Måske en relevant kolonne i en anden tabel? Eller i selve koden et sted?

Member Teams -> Social Groups del II

Som beskrevet i et tidligere indlæg har jeg installeret modulet Social Groups på testudgaven af morsverden med IPB3.4.

Nu skal jeg på en eller anden måde have overført alt eksisterende indhold af netværkene i modulet “Team members” som var lavet til IPB2.3 til det nye Social Groups modul.

Følgende tabeller findes i member_teams (gammel):

  • ibf_team_invites
  • ibf_team_members
  • ibf_team_news
  • ibf_team_ranks
  • ibf_teams

hvor ibf_team og ibf_team_members er de vigtigste, indeholdende alle netværkene samt de medlemmer der er i og deres rettigheder. Tabellernes opbygning:

mysql> describe ibf_teams;
 +--------------+--------------+------+-----+---------+----------------+
 | Field        | Type         | Null | Key | Default | Extra          |
 +--------------+--------------+------+-----+---------+----------------+
 | tid          | int(10)      | NO   | PRI | NULL    | auto_increment |
 | fid          | int(10)      | NO   |     | 0       |                |
 | perm_id      | int(10)      | NO   |     | 0       |                |
 | group_id     | int(10)      | NO   |     | NULL    |                |
 | tname        | varchar(50)  | NO   | MUL |         |                |
 | tdescription | varchar(200) | NO   |     |         |                |
 | tlogo        | varchar(100) | NO   |     |         |                |
 | ttext        | mediumtext   | NO   |     | NULL    |                |
 | leader_mid   | int(10)      | NO   |     | 0       |                |
 | is_open      | tinyint(5)   | NO   |     | 1       |                |
 | approved     | tinyint(5)   | NO   |     | 1       |                |
 +--------------+--------------+------+-----+---------+----------------+

 

eksempel med gruppen cand.move (synlig, is_open = 1): 
 mysql> select tid, fid, perm_id, group_id, tname, leader_mid, is_open, approved from  ibf_teams where fid = 171;
 +-----+-----+---------+----------+-----------+------------+---------+----------+
 | tid | fid | perm_id | group_id | tname     | leader_mid | is_open | approved |
 +-----+-----+---------+----------+-----------+------------+---------+----------+
 |  14 | 171 |      48 |       79 | cand.move |       2175 |       1 |        1 |
 +-----+-----+---------+----------+-----------+------------+---------+----------+

 

mysql> describe ibf_team_members;
 +--------------+------------+------+-----+---------+-------+
 | Field        | Type       | Null | Key | Default | Extra |
 +--------------+------------+------+-----+---------+-------+
 | mid          | int(10)    | NO   |     | 0       |       |
 | tid          | int(10)    | NO   |     | 0       |       |
 | rid          | int(10)    | NO   |     | 0       |       |
 | approved     | tinyint(5) | NO   |     | 0       |       |
 | can_team_mm  | tinyint(5) | NO   |     | 0       |       |
 | can_forum_mm | tinyint(5) | NO   |     | 0       |       |
 | can_perm_mm  | tinyint(5) | NO   |     | 0       |       |
 | can_news_mm  | tinyint(5) | NO   |     | 0       |       |
 +--------------+------------+------+-----+---------+-------+

Tabeller i sociale grupper (ny):

  • ibf_social_group_members
  • ibf_social_groups
  • ibf_social_groups_cat
  • ibf_social_groups_invites
  • ibf_social_groups_news
  • ibf_social_groups_notes
  • ibf_social_groups_perms
  • ibf_social_groups_pm
  • ibf_social_groups_supermods

hvor det her er ibf_social_groups (svarer til ibf_member_teams) og ibf_social_group_members (svarer til ibf_team_members) jeg i første omgang vil koncentrere mig om, for at få overført alle grupperne + medlemmerne. Det meste andet lader til at kunne oprettes og overføres efterhånden eller er umiddelbart mindre væsentligt i det store og hele.

Vi starter med selve grupperne. Opbygning af ibf_social_groups:

mysql> describe ibf_social_groups;
 +--------------------+--------------+------+-----+---------+----------------+
 | Field              | Type         | Null | Key | Default | Extra          |
 +--------------------+--------------+------+-----+---------+----------------+
 | g_id               | int(6)       | NO   | PRI | NULL    | auto_increment |
 | g_seo_name         | varchar(255) | NO   |     | NULL    |                |
 | g_name             | varchar(255) | NO   |     | NULL    |                |
 | g_forum            | int(6)       | NO   | MUL | NULL    |                |
 | g_cat_id           | int(4)       | NO   | MUL | 1       |                |
 | g_founder          | int(7)       | NO   |     | NULL    |                |
 | g_privacy          | tinyint(1)   | NO   |     | NULL    |                |
 | g_approval         | tinyint(1)   | NO   |     | 0       |                |
 | g_locked           | tinyint(1)   | NO   |     | NULL    |                |
 | g_desc             | mediumtext   | NO   |     | NULL    |                |
 | g_start            | int(10)      | NO   | MUL | NULL    |                |
 | g_banner           | varchar(200) | NO   |     | NULL    |                |
 | g_logo             | varchar(200) | NO   |     | NULL    |                |
 | g_bg               | varchar(200) | NO   |     | NULL    |                |
 | g_portal_news_num  | int(3)       | NO   |     | 5       |                |
 | g_portal_posts_num | int(3)       | NO   |     | 5       |                |
 | g_portal_mem_num   | int(3)       | NO   |     | 5       |                |
 | g_delete_request   | tinyint(1)   | NO   | MUL | NULL    |                |
 | g_featured         | tinyint(1)   | NO   | MUL | NULL    |                |
 | g_memCount         | int(10)      | NO   |     | NULL    |                |
 +--------------------+--------------+------+-----+---------+----------------+
 20 rows in set (0.00 sec)

Der er er ekstra felter udover dem vi pt har, men vi kan starte med at overføre dem vi kender. Map mellem kolonner i tabellen:

ibf_teams → ibf_social_groups
tid → g_id
tname → g_name
tname hvor mellemrum og specialregn er erstattet med _ → g_seo_name
fid → g_forum
leader_mid → g_founder
is_open → g_privacy? 0 → 1 og 1 → 0 (et åbent netværk (1) = ikke-privat (0))
(g_approval? ← 1) (alle gamle netværk skal som udgangspunkt godkende medlemmer)
(g_locked? ← 0)
tdesicription → g_desc
count(*) from ibf_team_members where tid = xx → g_memCount

#testoverfører data for cand.move 
insert into ibf_social_groups (g_id, g_name, g_seo_name, g_forum, g_founder, g_privacy, g_approval, g_locked, g_desc)
 select tid, tname, tname, fid, leader_mid, !is_open, 1, 0, tdescription from ibf_teams where tid = 14;

Her har jeg indtil videre overført tname direkte i g_seo_name, men disse navne skal laves om så mellemrum og andre specialtegn bliver erstattet med en “-” – til URL’en.

antallet af medlemmer skal hentes ud med count(*) from ibf_team_members for hvert tid og sættes ind i g_memCount-kolonnen.

Eksempel med cand.move:

update ibf_social_groups set g_memCount = (Select count(*) FROM ibf_team_members where tid = 14) where g_id = 14;

Nu findes forummet i oversigten under netværk (groups). Men gruppen findes teknisk set stadig ikke og der er ingen medlemmer i. Vi tager medlemmerne først.

mysql> describe ibf_social_group_members;
 +-------------+------------+------+-----+---------+-------+
 | Field       | Type       | Null | Key | Default | Extra |
 +-------------+------------+------+-----+---------+-------+
 | member_id   | int(7)     | NO   | PRI | NULL    |       |
 | g_id        | int(6)     | NO   | PRI | NULL    |       |
 | is_owner    | tinyint(1) | NO   |     | NULL    |       |
 | is_admin    | tinyint(1) | NO   |     | NULL    |       |
 | is_mod      | tinyint(1) | NO   |     | NULL    |       |
 | is_approved | tinyint(1) | NO   |     | 0       |       |
 | join_date   | int(10)    | NO   |     | NULL    |       |
 | is_banned   | tinyint(1) | NO   |     | 0       |       |
 | has_left    | tinyint(1) | NO   |     | NULL    |       |
 | inv_id      | int(10)    | NO   |     | NULL    |       |
 +-------------+------------+------+-----+---------+-------+

Igen mapper vi kolonner fra det gamle ibf_team_members til det nye ibf_social_group_members.

ibf_team_members → ibf_social_group_members
mid → member_id
tid → g_id
approved → is_approved
can_team_mm → is_owner og is_admin
can_forum_mm → is_mod

Igen et eksempel med medlemmerne i netværket cand.move:

insert into ibf_social_group_members (member_id, g_id, is_approved, is_owner, is_admin, is_mod)
 select mid, tid, approved, can_team_mm, can_team_mm, can_forum_mm from ibf_team_members where tid = 14;

Medlemmerne er nu overført, og jeg kan bl.a. se netværket i min oversigt. Men når jeg klikker på gruppen får jeg stadig en besked om at gruppen ikke findes …

Fortsættes næste gang.

Todo:

  1. gruppen skal kunne klikkes ind på fra netværksoversigten
  2. overføre alle grupper og netværk
  3. teste rettigheder
  4. få oprettelse af nye grupper til at virke (virker af en eller anden grund pludselig ikke)
  5. … det løse og det jeg har glemt …

Julekalender 2012 (morsverden)

Så er årets julekalender på plads: Julekalender 2012 (morsverden.dk) – eller dvs. udadtil er den, indholdet skal vist lige samles, men det haster jo ikke mere end det jager, der er stadig mange timer til første låge skal åbnes. Man kunne næsten fristes til at sige at jeg er i god tid.

Scriptet er det samme jeg har brugt de seneste mange år – hjemmebikset i PHP. Jeg har ikke lige haft tid eller grund til at justere så meget, selvom jeg dog har haft nogle idéer med at lave det lidt mere fancy. Og enkelte justeringer kunne nok være tiltrængte, men det er nok mere nice-to-have end need-to-have og der er andet at bruge tid på nu. Fx indholdet af lågerne måske.

Forskellige surprise-præmier bag lågerne er sponsoreret af diverse brugere.

Billedet er i år sponsoreret af fotograf-kæresten.

Jeg har hygget med at tilpasse sidens look til det blå vinterkolde. Muligvis kommer der folkekrav (?) om noget julelook på resten af sitet også, muligvis kommer det også (det plejer det jo … når vi når længere ind i december og jeg er blevet prikket tilstrækkeligt til!)

Content Experiments med Google Analytics

Jeg har længe villet prøve spilt test af forskellige udgaver af en side, for at se hvad der virkede bedst. Men det havde jo lige krævet at jeg rent faktisk lavede nogle flere udgaver og så gik tiden med andre projekter.

Men i dag har jeg leget lidt med morsverden-forsiden, som er dybt forældet, men jeg har ikke haft taget mig sammen til at gøre noget ved det. Til nu.

Jeg vidste at google havde et værktøj kaldet google optimizer til A/B-splittesting, men i mellemtiden er dette så lavet om. Nu testes flere sider sideløbende – ikke kun to – og det nye værktøj i google hedder Content experiments og er en del af google analytics.

En quick-guide til Content Experiments:
1. Fra sin konto i google analytics defineres først nogle mål under Konverteringer -> Mål.
Jeg har indtil videre blot defineret to mål, begge der har at gøre med destinationsadressen:

brugere der vælger at klikke sig ind i debatten (fra landingssiden) og brugere der vælger at registrere sig. Jeg nemlig gerne se om den nye landingsside fører til flere nye brugere der kan finde debatten eller vælger at registrere sig. Jeg har valgt at det ikke skal være et eksakt match på stien, og håber at det betyder at den i det første mål rent faktisk opfanger alle der klikker videre til en hvilken som helst side i debatten, hvadenten det er forsiden, nyeste indlæg, registrering eller login.

2. Inde under Indhold -> Eksperimenter oprettes et nyt eksperiment.
Jeg skriver http://morsverden.dk ind.

Der skal nu angives de varianter man vil teste med. Jeg skriver den oprindelige der skal testes op mod ind (http://morsverden.dk) og så har jeg en ny udgave, som ligger i en anden fil, som jeg angiver (den ligger online). Jeg nøjes med at teste med den ene variant, da jeg lige skal se hvordan det fungerer.

3. Der skal nu angives hvilke mål man vil teste op i mod. Hvad er det siden skal “virke bedst” i forhold til? Pt har jeg de to angivne mål, og jeg kan vælge et til testen. Jeg vælger at teste på hvor mange der klikker sig ind i debatten (/debat/) i håb om at det også inkludrerer
alle dem der klikker på registrer eller login eller se dagens indlæg (som nævnt i pkt 1).

Der skal også angives hvor stor en %-del af de besøgende man gerne vil have med i eksperimentet og der har jeg valgt 100%. Jeg håber at det betyder at ca. 50% af de besøgende får vist den oprindelige side og 50% får vist den nye udgave.

4. Derefter skal eksperiment-koden tilføjes. Den skal sættes ind øverst lige efter start af <head>-tag. Den SKAL være før den almindelige google analytics sporingskode. Analytics sporingskoden skal desuden være på alle de variant-sider der er med i eksperimentet, og den skal være placeret lige før slutningen af <head>-tag.

Dette er hermed gjort og jeg gemmer og fortsætter.

5. Google tester lige for mig om det hele ser korrekt ud i koderne, og faktisk fangede den at jeg havde nogle gamle google analytics sporingskoder. Dem fandt jeg i min footer-fil og har hermed slettet, så kun de nye er tilbage i headeren.

6. Jeg bekræfter det hele til sidst og så kører vi!
Der begynder at komme testresultater ind i løbet af et par dage.

Tilmelding til nisselegen – med to ubekendte

Som skrevet i tidligere indlæg var jeg i tvivl om hvorvidt det ville være muligt at parre nisser, når hver nisse havde et valg af niveau i to forskellige kategorier og man kunne vælge at ønske at niveauet skulle matches.

Jeg fik et tip om hvordan det kunne lade sig gøre, sålænge det ikke var et hårdt krav. Og det er det ikke. Det er ikke sikkert at alle bliver tilgodeset, men det bliver forsøgt så vidt muligt. Det afhænger jo meget af hvor mange der stiller kravet i match og hvor forskellige disse krav er.

Dette er den matematiske tanke. Den mere menneskelige er så hvad effekten egentlig vil være. En ting er følelsen af at blive delt op i A- og B-hold. Men det er der jo alligevel ingen der får at vide. En anden er forventingerne, som så kan være højere, hvis man han ønsket et match. Skuffede miner vil der altid være, men vil denne løsning gøre sandsynligheden for dem større eller mindre?

Nuvel, forsøget er i hvert fald sat i gang og jeg har noteret at det valgte niveau ikke er bindende og at matchønske ingen garantier giver. Det er meget uforpligtende det hele og kun drevet af egen motivation. Som jeg bedst kan lide det. For store forventninger er vejen til risiko for skuffelser, det ved vi muligvis alle, men logik og følelser har det nogle gange med ikke at ville samarbejde.

Nu har jeg så en uge til rent faktisk at lave match-algoritmen. Det opdaterer jeg sikkert om, om en uge minus nogle timer, kender jeg mig selv ret.

En nisseparringsalgoritme

Det er snart blevet denne tid på året – tid til den store nisseparring.

Hvert år laver vi nisseleg på morsverden, hvor hvert tilmeldt medlem får tildelt en hemmelig nisse. Eneste krav er at man skal have sendt en gave inden jul, men man er velkommen til at gøre mere ud af det, enten ved at sende flere gave, sende hilsener eller andet.

Jeg har et random script, som jeg kører efter tilmeldingsfristen. Denne tager en sorteret liste med alle de tilmeldte og parrer den med en randomiseret liste, dog må et medlem naturligvis ikke matches med sig selv. Ellers simpelt og lige ud af landevejen, enhver får en anden nisse og man kan godt komme til at nisse hinanden.

I år bliver det ekstra frækt, for i år havde jeg tænkt mig at tage hensyn til eventuelle niveauforskelle hvis det ønskes. Det kan være niveauforskelle i prisklasse af gave samt i ambitionsniveau i nisseriet. Jeg har lavet en stemningsafstemning her. Det ses ud fra denne at prisen for de fleste ikke er så vigtigt. Bare der er tanke bag. Der er dog enkelte der godt kunne tænke sig at blive matchet på prisniveau.

Det betyder lidt mere med ambitionsniveau. Måske har man lyst til at få lidt igen for sine anstrengelser hvis man godt kan lide at gøre noget ud af det eller måske vil man ikke sidde med dårlig samvittighed hvis man blot vil nøjes med at opfylde bundkravet.

Jeg har derfor tænkt mig som minimum at lade tilmeldingen have en mulighed for at vælge at blive ambitionsmatchet. Muligvis også prismatchet, men det kommer lidt an på hvor svært det så bliver. Det skal jo også gå op i sidste ende. Selvom jeg dog vil gøre opmærksom på at der ikke vil komme til at være nogen garantier! Blot en bonus hvis det løser sig.

For ikke at gøre det for komplekst, har jeg tænkt mig at der blot skal være to niveauer på både pris- og ambitionsmatch. Man angiver hvilket niveau man SELV regner med at deltage i og derefter om man ønsker at blive matchet.

Fx:
prisniveau 1
prisniveau 2
ønsker du at blive matchet på pris? JA/NEJ

ambitionsniveau 1
ambitionsniveau 2
ønsker du at blive matchet på ambition? JA/NEJ

Hvis man stemmer nej, kan man matches med hvem som helst inden for pris eller ambition, og hvis man stemmer ja, bliver man kun matchet med dem der er i samme niveau som en selv. Og det skal naturligvis hænge sammen, de to variable, hvis jeg vælger at implementere begge.

Jeg skal derfor have fundet en smart algoritme jeg kan bruge til mit nye smarte script anno 2012. Og at finde ud af om det i det hele taget er realistisk at forsøge at matche begge eller om jeg skal nøjes med den ene. Jeg kan sige at der plejer at være ca. 100 tilmeldte, hvis tallet gør nogen forskel.

Hvis nogen er friske på en lille matematisk udfordring her søndag aften, så er her en lille opgave! Kom med et bud på hvordan det matches og hvor sandsynligt det er at der findes et match til alle/det går op, enten med kun en variabel gældende eller med dem begge.

Jeg skal implementere tilmeldingsskema senest til i morgen, så der skal jeg have truffet et valg mht. hvad der er realistisk. Derefter er der en uge til at få bikset en algoritme sammen inden der skal parres nisser.

Så er det snart nisseparringstid!

Det lyder frækt – og det er det næsten også. De sidste 4 (eller 5?) år har vi leget nisseleg på morsverden, hvor hver frivillig tilmeldte movinde fik tildelt en hemmelig nisse engang i løbet af november. Reglen har hvert år været at det har været 100% op til en selv hvor meget man ville lægge i legen, eneste krav var at den man nissede senest til juleaften skulle sidde have modtaget en gave fra nissen.

Det var ikke min idé med nisselegen, og første år foregik da også helt manuelt, opstartet og bestyret af Claras_mor. Eller også var det de første to år? Men så besluttede jeg at alt det sorteringsarbejde og manuel parring af nisser da kunne gøres automatisk og randomisret. Og sådan har det kørt de seneste 3 år.

I år er det atter tid, og jeg overvejer om der evt. skal være en ekstra mulighed for at angive et ønske om prisniveau samt ambisionsniveau som evt. kan forsøge at blive matchet ved tilmeldingen. Så jeg starter lige med at lure stemningen for dette.

Ellers bliver det the usual: man tilmelder sig inden en deadline (typisk en uge til medio/slut november). Efter tilmeldingsdagen kører jeg et random script jeg har lavet til formålet. Denne sørger for at alle får tildelt en nisse, som er en anden end dem selv.

Der er ikke noget tjek på om man har haft nissen før (de andre år).
Der er ikke noget tjek for at den man nisser ikke også kan være den man bliver nisset af.

Sidstnævnte overvejer jeg om skal laves om, men på den anden side gør det vel ikke overraskelsen mindre. Det er sket et par gange at to brugere har nisset hinanden – men det ved man jo alligevel ikke før til sidst, og jeg synes ikke at det ødelægger noget for legen for de involverede.

Jeg lader forventningsafstemningen køre i løbet af i dag og sætter tilmeldingen op senest i morgen.

Sociale grupper: de nye netværk

Under opgradering til version 3.3 er et af de største hurdler, at de private netværk ikke længere findes som det modul vi bruger. Jeg har fundet noget der tilsvarende kan klare opgaven, men desværre er det teknisk set et helt andet system. I dette indlæg har jeg fokus på todos for netværk efter opgradering:

Private netværk på morsverden: Social groups i stedet for Member Teams.

Ved opgradering af forumsoftware fra 2.4 til 3.3 ryger den modifikation jeg har benyttet til at brugerne kunne oprette deres egne private netværk, Member Teams af Compguy11. Denne blev og bliver ej heller ikke opgraderet til at fungere med det nye software og udviklerne af Invision Power Board ønsker ikke at indbygge en officiel add-on/modifikation, som har den samme funktion, da de mener at det intet godt gør for et online community, andet end at defragmentere gruppen. Dette har været en af de absolut primære årsager til at jeg ikke har opgraderet morsverden software indtil videre, da vores private netværk har siden 2008, da de blev indført, haft en meget central rolle for brugen af morsverden-forummet (jaja, vi defragmenterer! Men gør det også mere personligt og fokuseret på ens private behov).

De vigtigste funktioner i vores netværk/Member Teams er:

  1. kun guldmedlemmer kan oprette netværk
  2. man kan højst eje to netværk (dette overvejer jeg dog)
  3. kun betalende medlemmer kan tilmelde sig netværk
  4. når betalingsmedlemskabet udløber er man stadig i netværket, men kan ikke læse sålænge man er ikke-betalende
  5. netværk kan enten være åbne eller lukkede.
  6. de åbne er nogle som alle kan tilmelde sig frit og skal accepteres hvis de passer ind i målgruppen
    1. man skal dog stadig godkendes når man har ansøgt om tilmelding.
    2. de lukkede kan ikke ses af netværksoversigten og medlemmer kan kun tilmelde sig ved at blive inviterede ind i gruppen.

Jeg har installeret Social Groups og tester. De gamle netværksfora findes som almindelige fora og kan læses af de medlemmer der har rettighederne til det. Men de er ikke en del af de nye sociale netværksgrupper. Jeg har forhørt mig i support-tråden om hvorvidt der var en smart måde at konvertere på, men desværre … jeg kommer til at bakse med det manuelt gruppe for gruppe (og skal lige finde ud af hvordan! Noget med at se på databasens opbygning og se hvordan jeg kan overføre de enkelte dele inkl. alle de mange indstillinger og medlemmer for hver gruppe …).

Noget andet er at de sociale grupper har meget mere interface som nærmest små fora inde i forummet. Når man opretter en gruppe har man sin egen gruppeside med beskrivelse, medlemsliste, seneste indlæg i gruppen, seneste medlemmer m.m. Smart.

Features der er i Social Groups og hvad der mangler i forhold til det gamle:

  1. ACP -> Other Apps -> Social Groups -> Settings -> Global:
  2. her kan man sætte hvilke grupper der må oprette grupper (jeg vælger alle guld-grupper) og hvilke grupper der må joine (jeg vælger alle sølv- og guldgrupper)
  3. Jeg kan umiddelbart ikke finde nogen begrænsing på hvor mange grupper man har lov til at oprette, når først man kan oprette grupper
  4. Kun betalende kan tilmelde sig – se 1.
  5. Når medlemskabet udløber vil medlemmet stadig kunne læse i netværket, da det kun er tilmeldingsgrupperne der kan vælges. Dette skal fikses.
  6. Der er faktisk hele tre typer netværk i Social grops:
  7. åbne – som i member teams
    1. private – disse ses stadig i oversigten, men man kan ikke tilmelde sig dem uden at blive inviteret
    2. skjulte – disse ses ikke i oversigten og man kan kun tilmelde sig dem ved at blive inviteret. Disse svarer meget til de lukkede netværk vi har i dag.

Jeg havde i 2008 gjort mig en del tanker om fordelene og ulemperne ved at lave de lukkede private netværk usynlige. Ved at gøre dem synlige kunne det afmystificere lidt hvad der egentlig fandtes “i det skjulte”, men på den anden side ville det også risikere at give anledning til følelsen af at være udenfor, når man kunne se hvad der var, men ikke måtte have lov til at være en del af det. De netværk der kom var per automatik synlige i modulet, selvom de var lukklede, men jeg endte med at lave et hack, således at de ikke kunne ses på listen, hvis man skulle inviteres for at blive medlem. Efter princippet hvad man ikke ved har man ikke ondt af. De private lukkede fora skulle være en privat sag for de involverede.

Den del mener jeg egentlig stadig, og derfor vil jeg deaktivere de private netværk og nøjes med at fortsætte med de to typer: åbne og skjulte.

Der er nu disse ting tilbage på todo’en for netværkene:

  1. begrænsing på hvor mange fora man skal kunne oprette som guldmedlem
  2. når et medlemskab udløber, skal medlemmer ikke længere kunne se de netværk hun tilmeldte sig mens hun var betalende, men skal dog automatisk kunne se dem igen når hun atter fornyr medlemskabet.
  3. og det allervigtigste: alle de gamle netværk skal manuelt overføres til det nye system. Finde ud af hvordan og se om det kan gøres smart eller en ad gangen … vi ses om nogle måneder!

Andet:

  1. man kan oprette kategorier til grupperne. Det vil jeg overveje ud fra de grupper der allerede findes, da det vil give bedre overblik over netværkene.
  2. skal testes når alt er på plads.

Så er det vist bare at smøge ærmerne op … once again!

Opgradering af forumsoftware, status del II

Fortsat fra Status del I

Status på opgradering her i starten af uge 44. Ny dato for live opgradering endnu ikke fundet.

Done:

  • kopieret forum og opgraderet til version 3.3 (mere om selve processen i seperat indlæg – skal bruge det når jeg evt. skal opgradere live)
  • installeret et nyt skin til forum: summerstyle
  • installeret subscsriptions manager og få overført de subscriptions der mangler (mere om dette i seperat indlæg senere)
  • instaleret sociale grupper som erstatning for de private netværk (member teams). Mere om udviklingen af dette i seperat indlæg senere
  • ved test af positive likes på indlæg viste det sig at max quota var reached fra start af. Det kunne laves om her: Manage User Groups -> edit hver gruppe -> reputation. Har pt sat den op på 50 likes, men det må gerne være ubegræset. Eller kan der være nogle fordele ved at sætte max på?
  • jeg har installeret en shoutbox, som dog ikke virkede, så enten skal den tilpasses eller jeg skal finde en ny.

Todo:

  • finde en måde at overføre alle de gamle netværk til det nye sociale grupper, evt. manuelt
  • sociale grupper: det er kun guld-medlemmer der skal kunne oprette og kun sølv/guld der skal kunne læse i
  • sociale grupper: kan man sætte et max antal på oprettelse?
  • test af betalingssystem, skal virke med epay.dk samt paypal samt danske bank evt.
  • man skal ikke kunne se hvem der senest har skrevet i et forum man ikke har adgang til
  • indlæg skal ikke tælle op for dem der er i gruppen “medlem”
  • google analytics + adsense + chart.dk på
  • tilpasning af skin + logo
  • tilpasning af resten af sitet
  • —–> todos nedenunder kan evt. vente til efter live opgrade
  • shotbox skal virke
  • arkade skal virke
  • opskrifter – der skal findes et nyt modul eller det gamle skal opgraderes
  • kalender mangler viser det sig – seperat modul der skal købes?
  • mulighed for at se nye indlæg – også som knap nede i bunden
  • problemer med smileys som ikke alle kan ses
  • Installere Nexus for bedre subscription manager? Er købt …

 

Jeg tager fat på en todo ad gangen igen og laver en opdatering herinde, når der er nyt i et emne.

Opgradering af forumsoftware, status del I

Jeg har i meget lang tid skullet opgradere forumsoftwaren (Invision Power Board – IPB) på morsverden fra den oldgamle version 2.4 til det nye 3.3. Efter at have taget mig sammen og kommet i gang, har det i første omgang været planlagt til at blive opgraderet i efterårsferien i uge 42. Det viste sig dog at der stadig var for mange ting der manglede, og jeg blev nødt til at udsætte det. Og derefter gik jeg lidt død på manglende, især de sociale grupper som skulle erstatte de private netværk (som ikke findes i den nye udgave) og betalingssystemet, som fungerer anderledes.

Men efter en lille pause, tager jeg fat igen. Nu må jeg snart få bidt i det sure æble og få den opgradering til at virke. Jeg tænker lidt at det nok kommer til at være uundgåeligt at det ikke vil virke helt perfekt med de 100% af de features der var før – i hvert fald ikke til at starte med. For skal det det, så bliver jeg aldrig færdig, og så sidder vi her og kukkelurer på det gamle og mangler support og udvikling og går glip af alle de dejlige features der er kommet siden sidst. Og samtidig ved jeg at mange brugere helst vil blive i det trygge om have det som det er.

Forandring kan da også være skræmmende, – og derfor vil jeg gerne have så mange ting til at virke “som de er”, men samtidig som regel ret fedt når først man har vænnet sig til den og oplever de fordele det også medfører.

Jeg bliver nødt til lige at få samlet op på alle manglerne forfra, for de gamle logs er ved at blive for udvandede og for spredte.

I næste indlæg kommer der en konkret status med dones and todos.