• Print

Author Topic: Ulysses - CMS  (Read 16 times)

0 Members and 1 Guest are viewing this topic.

Offline jay209015

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 934
  • Karma: 62
    • Dev-Solutions
Ulysses - CMS
« on: April 15, 2010, 11:09:37 am »
Well, I've been looking for a project here recently, but it hard to think of something new that hasn't already been done/overdone.
So I thought, how about a content management system that can allow you to administrate from your website, pull information
from the server, change maps, add/remove admins, control just about anything really.

I know that some of the hosting providers have this, but nothing that you can integrate into you own site.
I haven't decided how this should be done yet, so I came here to see what you guys think. Currently I have
these options:
     - Build a fully capable CMS that can function as a main site
     - Build an admin only CMS that just provides function for admins
Also something that's running through my head is registration. Do I want to register users from the site and
in game, or just one or the other.?

Registering in game:
     Advantages:
           - User group, steamid, nick, ip, access already known.
     Disadvantages:
           - Nick can contain special characters
           - User would have to join the game server to register
Registering from site:
     Advantages:
          - Don't have to load up a game
     Disadvantages:
          - We need a way to verify the user between the game and site

Like I said this is just an idea, but I do think it would be great if followed through.
An error only becomes a mistake when you refuse to correct it. --JFK

"And thus the downfall of the great ULX dynasty was wrought not by another dynasty, but the slow and steady deterioration of the leaders themselves, followed by the deprecation of the great knowledge they possessed." -Gmod, Chapter 28, verse 34 -- Stickly

Offline MrPresident

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 2727
  • Karma: 430
    • |G4P| Gman4President
Re: Ulysses - CMS
« Reply #1 on: April 15, 2010, 12:17:17 pm »
This sounds like a GREAT idea. I think you should make the site both admin and user level. I think one of the cooler features of having a site interface with the server is the ability for users to track gameplay stats from a web interface.

I would say if you are going to go ALL out.. that you should have user registrations from the site. Even if you do them from the game.. you'd STILL have to find a way to interface it with the site.. so doing it FROM the site seems like it would be easier. Just do like this forum does.. have a field in the profile for SteamID.. if they cant figure it out.. they're retarded.. it's too easy.

I'm really interested in seeing where you go with this. If you decide to maybe make it a community project, Id be interested in lending a hand probably. I know some lua and php both. (if you go php and not asp.net... ugh.. asp is not my CoT.. that's for sure...)

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6214
  • Karma: 394
  • Project Lead
Re: Ulysses - CMS
« Reply #2 on: April 15, 2010, 01:27:35 pm »
Was this idea sparked by this thread by any chance? If not, check it out.

I guess exactly how the interactions are handled depends on where you're writing the majority of your logic at. I was (non-seriously) thinking about this same thing the other day, and came up with the following ideas on how to write it (these are, of course, only my opinions, don't feel constrained by these):

  • Write it completely at the game server level by leveraging LuaSocket or a higher level socket library like Xavante. You're basically setting up the Lua equivalent to an Apache server. The negatives here are that the server's only running when the game server is, and you might have trouble with the interactions between threads (mainly your socket threads interacting with garry's). The positives are that you can use ULib and ULX as well as current server information directly in the website, almost like you're just writing an addon for ULX.
  • Use Kepler on top of Apache so you're still writing the site in Lua so you don't have to deal with crossing languages, but you're still separating the site from the server. Disadvantages here is that no one from our community would understand how to install Kepler or might be bound by hosts' wishes and unable to install it (which pretty much throws this option out...)
  • Separate and different languages! At this point it really doesn't matter if the game and web servers are on the same machine, or what language you use.

Personally, I think the last option is the best option. It's still a little easier if you have the web and game servers on the same machine, but not by much (IE, for an AJAX'y log that automatically updates, you'd need to use something like FTP instead of just reading the file directly). Also, at this point it seems best to complement or perhaps even completely blow away ULib's current auth system (reading from users.txt and groups.txt). Don't forget to take multiple servers in one interface into consideration. There's a lot of thoughtful, easy things you can do at this level as well... like adding a WYSIWYG editor for MOTD's. To query the server, and assuming you're using PHP, you'd probably want to use something like PHP rcon or my own SrcQR (use forum search, though you'd have to fix it up a bit). Any shared information would be easiest to deal with in a shared database somewhere (even an sqlite database, though MySQL is probably easier from the PHP end).

As far as registration, I personally think you should support it from both ends. They'll still need to be able to authenticate at both ends anyways!

All in all, I think this is a great idea and definitely something people would start picking up and using.
Experiencing God's grace one day at a time.

Offline JamminR

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 8096
  • Karma: 390
  • Sertafide Ulysses Jenius
    • Team Ulysses [ULib/ULX, other fine releases]
Re: Ulysses - CMS
« Reply #3 on: April 15, 2010, 03:00:40 pm »
I...really....need....to....learn....S.....Q.....L
Ugh. So much fun things, too many responsibilities.
I love my wife, but I remember having much more 'teach myself whatever <insert PC related code/task> time' before getting married.
(Would I go back? Absolutely NOT! ... just sayin... so much more time)

Anyway, regarding the overall idea... go for it.
What about Java applet? Cross platform... easily web hosted, or single machine for the admin who runs multiple servers.
"Though a program be but three lines long, someday it will have to be maintained." -- The Tao of Programming

Offline jay209015

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 934
  • Karma: 62
    • Dev-Solutions
Re: Ulysses - CMS
« Reply #4 on: April 15, 2010, 08:42:24 pm »
Quote from: MrPresident
I'm really interested in seeing where you go with this. If you decide to maybe make it a community project, Id be interested in lending a hand probably. I know some lua and php both. (if you go php and not asp.net... ugh.. asp is not my CoT.. that's for sure...)
    - Lucky for you I don't do asp.net either :P
    - Yea, actually it would be great if this were a community project.
Currently I have a CMS project going already, but I'll see about adding this to the project list so that I can get whoever wants to help registered with access to the project repository.
An error only becomes a mistake when you refuse to correct it. --JFK

"And thus the downfall of the great ULX dynasty was wrought not by another dynasty, but the slow and steady deterioration of the leaders themselves, followed by the deprecation of the great knowledge they possessed." -Gmod, Chapter 28, verse 34 -- Stickly

Offline Stickly Man!

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 1270
  • Karma: 164
  • What even IS software anymore?
    • XGUI
Re: Ulysses - CMS
« Reply #5 on: April 15, 2010, 09:23:17 pm »
Sounds like an all-around good idea to me!

And if you still need projects to work on, you could work on implementing URestrict into XGUI!  ;D
(except.. URestrict would need to go in the settings portion of XGUI.. which isn't modularized yet.. BUT! It will be worked on very very soon!)
Join our Team Ulysses community discord! https://discord.gg/gR4Uye6

Offline jay209015

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 934
  • Karma: 62
    • Dev-Solutions
Re: Ulysses - CMS
« Reply #6 on: April 15, 2010, 10:16:41 pm »
...

And if you still need projects to work on, you could work on implementing URestrict into XGUI!  ;D
(except.. URestrict would need to go in the settings portion of XGUI.. which isn't modularized yet.. BUT! It will be worked on very very soon!)
     - Well between this and my current CMS project, I'm about to be pretty busy.

For those of you who would like to help, I'm going to need a lot when it comes down to the lua sockets. As for the the web side, I will be doing most of the back-end OOP PHP, but if you know standard php you can help out on the front end creating modules form actions ect... . Also anyone who could help with the design of things, I'm terrible at making a 'pretty' webpage. I have a designer working with me on my current CMS, but I doubt he help with this one. He hates Gmod.   
An error only becomes a mistake when you refuse to correct it. --JFK

"And thus the downfall of the great ULX dynasty was wrought not by another dynasty, but the slow and steady deterioration of the leaders themselves, followed by the deprecation of the great knowledge they possessed." -Gmod, Chapter 28, verse 34 -- Stickly

  • Print