Welcome to Geeklog, Anonymous Wednesday, June 19 2024 @ 10:48 am EDT

Geeklog Forums

Can Geeklog Do This


Status: offline

Neil Wehneman

Forum User
Newbie
Registered: 06/21/04
Posts: 7
I'm moving my personal site with my writing over to Geeklog. I'm currently using Movable Type for announcements and some quick and dirty homebrew PHP/MySQL for looking up / displaying writing.

I'm trying to figure out what I will need to do to preserve my current functionality, while using the features of Geeklog.

Here is how I am currently handling things...

I have about 200 pieces of stand-alone writing. Some of these writings have notes on them, some do not.

I have a "writing" folder on the host, with sub-folders for "poetry" "short stories" and other types of writing. Within the appropriate folder resides the text themselves in individual HTML files.

I also have a "notes" folder on the host, with sub-folders for "poetry" "short stories" and other types of writing that has notes written for it. Within the appropriate folder resides the notes themsleves in individual HTML files.

I have the metadata for each piece within a MySQL database, segregated into tables by "poetry" "short stories" and such.

This metadata captures title, date written, inspiration, whether notes exist, and the Level of the writing (among other things).

I have four levels of writing. The first is Level 1, the default that anyone can look at. Level 2 is open to the public, but requires them to click through a one-time link so they understand that Level 2 can get lonely, bitter, or otherwise unpleasant. Clicking the link sets a cookie.

Levels 3 and 4 require a userid and password from me to see and access. Once that userid and pass has been used on the appropriate "setl3access.php" page, a cookie is set on their computer denoting their access rights.

I have a "listpoetry.php" page which checks the DB for all written poetry, then returns a listing and links for poetry that is allowed for that user's level.

So, a new visitor would not see titles or have access to reading anything beyond Level 1 pieces.

"lispoetry.php" returns links to the allowed pieces and their notes. "displaypoetry.php" takes a request number (the PoemID field in the DCool, checks again against the user's User Level, and if they are cleared it reads the poem from /writing/poetry/PoemTitle.html. (The PoemTitle is derived from the DB's Title, with white space removed).

"displaypoetry.php" then checks to see if Notes exist for this piece (as stated in the DCool. If NotesExist is "Y", a link is returned below the poem's text that points to /notes/poetry/PoemTitle.html.

Here is what I want with Geeklog...

I want to be able to create a story for each piece of writing. Each story would be under a topic such as "poetry" or "short stories." I would like this text to read from a single "master" file (such as I'm doing now with /writing/poetry/PoemTitle.html) but am willing to hard-code the text within the story itself.

The key is being able to restrict visibility of certain stories (and their accompanying notes) based on user permissions. I am willing to do this with cookies (as I am now) or by creating user groups within Geeklog. (IE individually put registered users into a group called Level3Users).

Worst case, I could consider creating different topics (such as Level 1 Poetry, Level 2 Poetry...), but I would much prefer to keep things streamlined somewhat.

I like the look and feel of Geeklog (esp. since I'll be having other people posting and adding content to my site at a later point).

I also like the ability to search within pieces themselves if the text is captured within a story article.

Thanks for your thoughts.

- Neil Wehneman
Writer. Geek. Christian. Libertarian.
And Someday: A Lawyer.
 Quote

Status: offline

Turias

Forum User
Full Member
Registered: 10/20/03
Posts: 807
What you want to do is very possible and very simple to do with Geeklog. It will not be easy, however, to get the stories to pick up their text from files on your computer. These will need to be stored directly in the Geeklog database.

As far as security is concerned, all you have to do is create 2 User Groups, one level 3 and one for level 4. Level 1 can be considered the "All Users" group, which will allow for anonymous access. Level 2 can be considered the "Logged-in Users" group, so that you have to create an account (and read a disclaimer) to read level 2 writings.

You don't have to create separate topics for each level. Instead, just create a poetry topic, a short story topic, etc. Then, each time you submit a story, you do the following:

If it is a level 1 story, on submission, allow anonymous access.
If it is a level 2 story, remove anonymous access and allow Member access
If it is a level 3 story, remove anonymous and member access and allow Level 3 access.
Do the same for level 4.

That should do what you want. How's that sound?
 Quote

Status: offline

Neil Wehneman

Forum User
Newbie
Registered: 06/21/04
Posts: 7
Thank you very much!

I hadn't noticed / realized the anonymous and member read access checkboxes before.

I can live with hard-coding the writing into the GL database if that's what's needed to search the pieces.

Your suggestions for Level 3 and Level 4 are dead-on what I need and will use.

The last concern I have is how I would allow users to add themselves to a group without my intervention.

I want to let people register so they can customize the site without adding Level 2 writing by default (which I believe is what your solution would end up doing).

However, I want to make the process of getting Level 2 accessible to be as quick and painless. Aka "read this and click here to turn on Level 2" which ends up adding their userid to the L2Users group.

- Neil Wehneman
Writer. Geek. Christian. Libertarian.
And Someday: A Lawyer.
 Quote

Status: offline

Turias

Forum User
Full Member
Registered: 10/20/03
Posts: 807
Well, my suggestion would require users to sign up for an account before being granted level 2 access, as level 2 access is accessible by all members. This would be instantaneous and require no moderation by you.

If this is unacceptable, you can always go the cookie route that you did before, but that would require you to write custom code in a static page that sets the cookie and hack the core to check for that cookie before viewing certain articles.
 Quote

Status: offline

Neil Wehneman

Forum User
Newbie
Registered: 06/21/04
Posts: 7
And that's the problem. I don't want Level 2 to be accessible to all registered users.

I have some readers that just want to enjoy the surface-level writing and not be challenged at all, and I want to respect that and still let them customize the rest of the site.

But I also realize that if I require prospective users to go through more than just clicking a link, they may not choose to look at Level 2. I also think people who want Level 3 or Level 4 are willing to wait 24 hours for me to get the emailed request and add their userid to that group, where for Level 2 they may not be as strong of a fan and willing to wait.

Just my thoughts.

- Neil Wehneman
Writer. Geek. Christian. Libertarian.
And Someday: A Lawyer.
 Quote

Status: offline

Turias

Forum User
Full Member
Registered: 10/20/03
Posts: 807
While still a hassle, the group b's don't have to wait 24 hours for an account. They have to submit their e-mail address and click on a link in their e-mail. That's all. A couple minutes, tops.

But, you could always code up your own cookie schema.
 Quote

Status: offline

Neil Wehneman

Forum User
Newbie
Registered: 06/21/04
Posts: 7
I think there's still some confusion here.

To be in Level 2, you have to be registered. But just because you're registered doesn't mean you're in Level 2.

I cannot give Level 2 access to all registered users as I will have some registered users who do not want it.

In regards to the 24-hour turnaround, I mentioned that time because under the current schema I personally have to be involved, and I'm guesstimating up to 24 hours between when the request is emailed and when I manually flip the switch on that user to Level 2.

I want to let any logged-in user click a link, and they are added to the Level 2 group. If they click another link, they are dropped out of the Level 2 group.

I don't understand how the MySQL database behind Geeklog tracks what users are in what groups, and how to successfully modify those records through a static PHP page.

That's what I'm requesting help with.

As always, thank you for your time.

- Neil Wehneman

P.S. My site is at www.fallinggrace.com if anyone wants to understand more fully what it is I'm talking about.
Writer. Geek. Christian. Libertarian.
And Someday: A Lawyer.
 Quote

All times are EDT. The time is now 10:48 am.

  • Normal Topic
  • Sticky Topic
  • Locked Topic
  • New Post
  • Sticky Topic W/ New Post
  • Locked Topic W/ New Post
  •  View Anonymous Posts
  •  Able to post
  •  Filtered HTML Allowed
  •  Censored Content