Author Topic: New UCL -- taking suggestions!  (Read 3858 times)

0 Members and 1 Guest are viewing this topic.

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6214
  • Karma: 394
  • Project Lead
New UCL -- taking suggestions!
« on: June 01, 2008, 06:26:50 AM »
We've already determined that we want to drop support to SteamID only with no passwords, but does our amazing community of developers have any other suggestions for changes in UCL? At this point, I'm willing to scrap our current one and start from scratch so feel free to throw out any ideas you have.

Our goals in this, as always, are:
  • The configuration must be simple! Hopefully simpler than it currently is. Give us ideas! :)
  • Must be easy to use by third parties
  • Hopefully backward compatible but not absolutely necessary
Experiencing God's grace one day at a time.

Offline saintmark

  • Newbie
  • *
  • Posts: 27
  • Karma: 1
Re: New UCL -- taking suggestions!
« Reply #1 on: June 01, 2008, 03:48:17 PM »
I found this thread ( http://forums.ulyssesmod.net/index.php/topic,3355.0.html ) but where can i find more info?


Offline JamminR

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 8096
  • Karma: 390
  • Sertafide Ulysses Jenius
    • Team Ulysses [ULib/ULX, other fine releases]
Re: New UCL -- taking suggestions!
« Reply #2 on: June 01, 2008, 04:04:33 PM »
where can i find more info?

All commands ULib UCL related can be found at the ULib documents site, linked from www.ulyssesmod.net
Specifically related to UCL is http://www.ulyssesmod.net/docs/files/lua/ULib/server/ucl-lua.html
But, perhaps a better question is, what information are you wanting to know?
UCL stands for User Control List.
"Though a program be but three lines long, someday it will have to be maintained." -- The Tao of Programming

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6214
  • Karma: 394
  • Project Lead
Re: New UCL -- taking suggestions!
« Reply #3 on: June 04, 2008, 09:52:19 AM »
Okay, guess I'll get the idea train goin'. How about using YAML for the config file? I used Valve's KeyValues format initially because it was what the rest of the engine used, but it seems people have trouble matching up braces and ensuring correctness. I think YAML might benefit those editing the file by hand. :)

Here's a sample of YAML for your viewing pleasure:
Code: [Select]
receipt:    Oz-Ware Purchase Invoice
date:        2007-08-06
customer:
    given:   Dorothy
    family:  Gale
   
items:
    - part_no:   A4786
      descrip:   Water Bucket (Filled)
      price:     1.47
      quantity:  4

    - part_no:   E1628
      descrip:   High Heeled "Ruby" Slippers
      price:     100.27
      quantity:  1

bill-to:  &id001
    street: |
            123 Tornado Alley
            Suite 16
    city:   East Westville
    state:  KS

ship-to:  *id001   

specialDelivery:  >
    Follow the Yellow Brick
    Road to the Emerald City.
    Pay no attention to the
    man behind the curtain.

Here's the design goals of YAML:
  • YAML is easily readable by humans.
  • YAML matches the native data structures of agile languages.
  • YAML data is portable between programming languages.
  • YAML has a consistent model to support generic tools.
  • YAML supports one-pass processing.
  • YAML is expressive and extensible.
  • YAML is easy to implement and use.

Another thing is that I really want a way to add comments to the config file programmatically; unfortunately neither KeyValues nor YAML makes that easy (YAML does have a comment syntax defined though). It would be difficult to keep track of what comment goes on what line.
Experiencing God's grace one day at a time.