Menu

Setting up the Structure

Anonymous
2004-07-13
2004-07-25
  • Anonymous

    Anonymous - 2004-07-13

    First of all we need a model for how out app should ber realized. Refering to what alpha mentioned i suggest this main structure

    Socket Layer

    Connectionslayer

    Parserlayer

    GUI

    I'm not quite sure if this are the names we finaly choise for each layer, but at least it's the model.

     
    • mî†õm²

      mî†õm² - 2004-07-13

      basically we have to create a program  wich loads every needet part into itself. the (manipulated) screenshot how it should look is already on my pc. if aybody knows how to upload it anywhere pls tell me via whisperwindow in uboot or write it into this forum.

      the project will be primary held i german. every line i the program wich will give out some information will get a number. in a special file (i would prefer *.txt) will be a replacing of numbers in the choosen language.
      for example:

      #000002
      #000003 #000001 #000004
      [#0000005][#000006][#000007]

      as first window wich welcomes the user after startig the program. it will be changed into followig files

      deutsch.txt:
      #000001 = (programmname)
      #000002 = Willkommen! {fesnter-titel}
      #000003 = Sie haben
      #000004 = gestartet. Wie wollen sie weiter vorgehen?
      #000005 = Weiter
      #000006 = Abbrechen
      #000007 = Hilfe

      eglish.txt:
      #000001 = (program name)
      #000002 = Welcome! (window-title)
      #000003 = you have just started
      #000004 = . how do you want to continue?
      #000005 = Continue
      #000006 = Abort
      #000007 = Help

      i have still to talk agai with SDW who will help me finding out wich programming laguage will be best used.

      basically we have following options:
      a) flash (in case we find somebody, who is able to program in that laguage)
      b) java  - it shall be easier to program but maybe its not able to work with all fuctioons
      c) another language. (depends on version historys ?.x.xxx.??? (see info: "version history")

      CU TOM

       
    • Anonymous

      Anonymous - 2004-07-14

      im thinking, java will be the best language, maybe c#, cause its more powerfull and easy as java

      Socket Layer

      Connectionslayer

      are no problem in java or c#
      for the rest we could mix up with perl (Parserlayer)
      the gui should be done in java, because its most portable

      i think, i'm interested in a deeper discussion of this ;o)

       
    • Anonymous

      Anonymous - 2004-07-16

      C oder C++ are as portable as Java. With the Apache Runtime in Apache 2 it's very easy to write portable, networked Code. Since Mono is avaible on the three "big" plattforms (win,lin,mac) C# could also be used, but should be pre-complied, no need for JIT in the core (an other argument against java ;).

      What's missing in the layers is a layer on the side. I would call it the "state machine". It's purpose is to hold some states. Now what does this mean. Some things are chat specific. I.e. in a webchat I'd type "/ig nick" to ignore someone. Thus the parsing takes place in the parsing layer. Now should it be easy for the GUI to display a list of ignored users. This is where the state machine comes in place. It could be used for many other things as well and even help the parsing layer to save it's state (and if you want be uebercool you could hibernate the parsing state and reload the parsing layer without losing connection).

      Maybe the easiest way to have this state thingy would be a SQL database (sqlite comes into my mind - it has many language bindings and is very low on resource usage). Or we could do it in a xml thing, which would allow use a deeper structure. Some of the storage places need to be standarized to allow the GUI to exchange data with other layers.

      b4n

       
    • Anonymous

      Anonymous - 2004-07-16

      I questions of language choice I'll vote for c / c++.

      I think we should realize a "state maschine" for each Layer, espeacially for Connection and Parser Layer.But there we need a structure to load the settings.
      But I'm not sure if we should you some kind of SQL because the Data won't be as easy to edit as with a xml or any other kind of plaintext file. And due to the many changes on login procedures like we saw last month in uboot, there'll be a great advantage, if there is a simple config-file to modify.

       
    • Anonymous

      Anonymous - 2004-07-16

      Well, xml is the greatest new meta language for defining rules for documenttypes (in our case: document = hibernation file for the layers and the known xml for connection purposes)

       
    • Anonymous

      Anonymous - 2004-07-16

      I quess I wasn't unterstood. The state maching thing doesn't has to be easy to edit by anyone but the running code. It's _not_ a config. It's an easy way for the different layers to exchange data, i.e. to hold the ignore list, which is needed by the parse layer and the GUI. That's why there should be only one - not one for each layer. Think of it like a variable stack, but with a defined interface, because we have different layers running in there own process space.

      If there is a state machine, why shouldn't the layer also use it for some private variables, that don't change very often, like the session-cookie for a chat. The whole hybernation thing was a nice to have. It isn't really needed, but would speed up development. But when I close my "chatclient" the data is lost. It has no permanent data from the users point of view. It's just a data storage on the side to glue somethings together.

      b4n

       
    • mî†õm²

      mî†õm² - 2004-07-17

      1st: thx for helping us, alpha. we will take every help from the [[[DEV-team wich is possible.

      2nd: for a multi-os-program its neccessary to use files wich work well on every os. if xml does work on linux as good as in windows we could use also some xml-flies in the program (i have no idea wich files exept *.txt also work on other operatingsystems)

      3rd: a little program wich saves all settings after a change is absolutely neccessary. an broken system ( keine ahung ob das in englisch so heisst: ein aufgehngter pc) must not be an reason for not-saving changes.

      4th: i dont know if i understood this right, but the ignore-list has to stay after an logout. if i do /ig userxyz and the i close the program, after restarting userxyz must be still ignored. (there moght be some own settings if the user is shown in the userlist or on a /w or somethig else) i thought about a textfile wich shows me all ignored users for example:

      alpha666@uboot nennt mich immer "doofe nuss"

      including the option, to give a reason for ignoring.
      @uboot is here for multi-chat-using. maybe alpha666 is not the same natural person as in another chat.

      a textfile because of it should be possible to edit without a running client.
      so i could add alpha666@sms or alpha666@pro7 in an easy way without to have to log in into all the chats just for addig them to ignorelist.

      further information u may also discuss in the own topic about the igore-function.

      (dass i deinen namen hier genommen hab lag ausshliesslich an meiner mdigkeit und weil i grad kan suchen wollte - also nix persnliches)

       
    • Anonymous

      Anonymous - 2004-07-21

      Okay, if i understand u right, u mean the statemachine to be to interface for the different layers to cumincate with each other especaily to hold the config/data (not to save them physicaly).

       
    • Anonymous

      Anonymous - 2004-07-21

      1st: thx too alpha ;o)

      2nd: xml is not a fileformat, its a definition for a data layout -> not os depended

      3rd: so we may think of the same way of a state machine, as the name says, it holds any states u defined to be hold in this machine, but its only held while running (like ram) so for a lossless state machine you need something on the harddrive, and i only wanted to say, that xml is the perfect way, to save states for a state machine or to reload the states (back from hibernation or after reboot)
      do i think wrong?

      4th: see 3rd -> xml, textfile easy to edit and easy to integrate

       
    • mî†õm²

      mî†õm² - 2004-07-24

      exatly what i was thikig of. if nobody has a better idea we define the xml as file to save states (like used in [[[).

      CU TOM

       
      • Anonymous

        Anonymous - 2004-07-25

        To be portable libxml2 would be the best libary for parsing XML. Just as solution to the upcoming problem ;)

        b4n

         

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.