Elvas Tower: Overall File System and Data Structure - Elvas Tower

Jump to content

Posting Rules

All new threads will be started by members of the Open Rails team, Staff, and/or Admins. Existing threads started in other forums may get moved here when it makes sense to do so.

Once a thread is started any member may post replies to it.
  • 17 Pages +
  • « First
  • 8
  • 9
  • 10
  • 11
  • 12
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

Overall File System and Data Structure Rate Topic: ***** 1 Votes

#91 User is offline   RR1 

  • Hostler
  • Group: Status: Active Member
  • Posts: 74
  • Joined: 03-March 13
  • Gender:Male
  • Simulator:OR
  • Country:

Posted 28 August 2020 - 09:29 AM

View Postgpz, on 28 August 2020 - 07:29 AM, said:

By reading the directories of the packages first, it is straightforward to select the newest files only to load.

Thanks, that answers 1 question. But what about all those updated files? Are they retained forever or is there a way to purge them. I suspect that would not be easy?

I realize they are compressed so maybe this really isn't an issue. But regardless of that I'm simply seeking a better understanding of the new process.

#92 User is offline   cjakeman 

  • Vice President
  • PipPipPipPipPipPipPipPip
  • Group: ET Admin
  • Posts: 2,857
  • Joined: 03-May 11
  • Gender:Male
  • Location:Peterborough, UK
  • Simulator:Open Rails
  • Country:

Posted 28 August 2020 - 10:02 AM

View PostYoRyan, on 27 August 2020 - 10:27 PM, said:

As a content creator releasing your first version, you would release a package that includes the entire route and all of its files. When you release an update, you would have two options: either issue a package that completely replaces the original, or issue a much smaller net-change package that depends on the original and must come after it in the load order.

An alternative, which I think is compatible with these mechanisms, is to publish the route as a Git repository (e.g. on GitHub) and let users download it into the correct folder.

Then corrections are published to the remote repository and pulled down using Git. Different version as branches (e.g. steam-era and modern-era) can be pulled down as required. You would use Git to check-out a different version from your local repo.

As I have mentioned before, this is working very well for Rick Loader's extensive New Forest route.

#93 User is offline   YoRyan 

  • Conductor
  • Group: Status: Active Member
  • Posts: 391
  • Joined: 19-February 20
  • Gender:Male
  • Location:California, United States
  • Simulator:Open Rails/unstable
  • Country:

Posted 28 August 2020 - 11:47 AM

View PostRR1, on 28 August 2020 - 09:29 AM, said:

But what about all those updated files? Are they retained forever or is there a way to purge them. I suspect that would not be easy?

If their files are no longer required, you would be able to delete the old content packages, and OR would no longer load them into the virtual filesystem. Just how many you could delete would depend on how the author structured his or her updates. Perhaps you would need to retain all 16 updates, or perhaps you would only need to retain #14, #15, and #16, or maybe the author didn't use change-type packages at all and you would only need to retain the very latest package. Any methodology is possible.

View Postcjakeman, on 28 August 2020 - 10:02 AM, said:

An alternative, which I think is compatible with these mechanisms, is to publish the route as a Git repository (e.g. on GitHub) and let users download it into the correct folder.

Yes, this is also quite possible - just use the Git repository itself as a directory-type package.

#94 User is offline   cjakeman 

  • Vice President
  • PipPipPipPipPipPipPipPip
  • Group: ET Admin
  • Posts: 2,857
  • Joined: 03-May 11
  • Gender:Male
  • Location:Peterborough, UK
  • Simulator:Open Rails
  • Country:

Posted 07 May 2021 - 10:57 AM

This thread is an amazing 9 years long, refers back to previous discussions, sets out a detailed proposal and adopts some decisions as the thread progresses.

Now that work has begun on this (thanks, Ryan), I thought it might be helpful to write down the design of the filesystem for easier reference than trawling through all the posts. I think I have succeeded in recording the final state of things accurately, but let me know if I've missed anything.

The design is now stored here in the repository.

#95 User is offline   Amtrak115 

  • Fireman
  • Group: Status: Active Member
  • Posts: 200
  • Joined: 04-August 19
  • Gender:Male
  • Location:Parker, TX
  • Simulator:open rails
  • Country:

Posted 07 May 2021 - 12:53 PM

Chris, I've read through the entire chain as well as what you condensed down on Git.....I'm still confused....

"Files in the MSTS-organised packages can continue to use legacy references such as:

..\..\SomePackage\Shapes\bungalow.s

but files in the OR-organised packages must start from the /OR root and may not use ".."
For OR assets that are inextricably linked with other assets (paths and activities vis-a-vis routes)

An activity must be linked to a route. In OR packages, this will be achieved with a more restrictive reference:

"Route": "/OR/SomePackage/Routes/SomeRoute.route-or"

"

So today I package an activity for say LaJunta Sub. I create a zip that has the structure shown in the attached jpg

how would this look as a OR package??

Attached thumbnail(s)

  • Attached Image: or-struct.JPG


#96 User is offline   Genma Saotome 

  • Owner Emeritus and Admin
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • Group: ET Admin
  • Posts: 15,307
  • Joined: 11-January 04
  • Gender:Male
  • Location:United States
  • Simulator:Open Rails
  • Country:

Posted 07 May 2021 - 05:21 PM

In this example:

Quote

/OR/SomePackage/Shapes/bungalow.s

refers to file

C:\Users\Ryan\Open Rails\SomePackage.zip\SomePackage\Shapes\bungalow.s



How does this reference occur?

#97 User is offline   cjakeman 

  • Vice President
  • PipPipPipPipPipPipPipPip
  • Group: ET Admin
  • Posts: 2,857
  • Joined: 03-May 11
  • Gender:Male
  • Location:Peterborough, UK
  • Simulator:Open Rails
  • Country:

Posted 08 May 2021 - 11:17 AM

View PostAmtrak115, on 07 May 2021 - 12:53 PM, said:

I've read through the entire chain as well as what you condensed down on Git.....I'm still confused....

Sorry it's confusing. I'll do my best to clarify and maybe tweak the document where it helps.

The point of packages is to avoid duplication and make it easier to mix and match content. For example, to run your activities but using my enhanced consists instead of yours and without touching the files in your package.

As I understand it, the package mechanism will work for MSTS without any changes to the contents of MSTS files.

How would this look as an OR package using *-or files is still to be determined, but MSTS content will be able to reference OR content and vice-versa.

We may need to tweak the folder structure for OR packages because we want to support real-life complications such as blocks of railcars, so the Consist may let you nest (contain other consists) and it may not even be called a consist.

#98 User is offline   cjakeman 

  • Vice President
  • PipPipPipPipPipPipPipPip
  • Group: ET Admin
  • Posts: 2,857
  • Joined: 03-May 11
  • Gender:Male
  • Location:Peterborough, UK
  • Simulator:Open Rails
  • Country:

Posted 08 May 2021 - 11:33 AM

View PostGenma Saotome, on 07 May 2021 - 05:21 PM, said:

In this example:

/OR/SomePackage/Shapes/bungalow.s

refers to file

C:\Users\Ryan\Open Rails\SomePackage.zip\SomePackage\Shapes\bungalow.s

How does this reference occur?

I prepared a response to your query, but then I found it might raise an issue.

I'll check and post again.

#99 User is offline   Amtrak115 

  • Fireman
  • Group: Status: Active Member
  • Posts: 200
  • Joined: 04-August 19
  • Gender:Male
  • Location:Parker, TX
  • Simulator:open rails
  • Country:

Posted 08 May 2021 - 05:28 PM

Thanks in trying to clarify this situation...I have two reasons for asking...one I've been making content (Activities. basically Amtrak's Southwest Chief from Chicago to LA, since all the routes exists via trainsim.com) The second reason is in digging into trackviewer and am trying to basically add all the features and functions for an Activity editor, the structure of Activities and how all the related files are referenced including consists or blocks or however we are going to refer to them plays into my design. anyway thanks again in advance...

Barry

#100 User is offline   YoRyan 

  • Conductor
  • Group: Status: Active Member
  • Posts: 391
  • Joined: 19-February 20
  • Gender:Male
  • Location:California, United States
  • Simulator:Open Rails/unstable
  • Country:

Posted 08 May 2021 - 06:09 PM

View PostAmtrak115, on 07 May 2021 - 12:53 PM, said:

how would this look as a OR package??

Until there is an OR activity editor (if there is going to be an OR activity editor...), it's impossible to say what the OR structure would look like.

Personally, I would spitball something like this:

/OR
  /MyActivityPackage
    /Activities
      something.activity-or
    /Paths
      player.path-or
    /Consists
      player.consist-or

In general, we wish to separate related content into packages, rather than smashing it all together in a single MSTS directory.

In the near term, the virtual filesystem will allow users, players, and content creators to compose their existing MSTS data directories in neater and simpler ways.

View PostGenma Saotome, on 07 May 2021 - 05:21 PM, said:

How does this reference occur?

SharpFileSystem creates a virtual filesystem that maps virtual file paths to physical files or files in archives.

  • 17 Pages +
  • « First
  • 8
  • 9
  • 10
  • 11
  • 12
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users