I've stated several times that FAF lobby can be used for anything as it's basically a empty shell.
Due to the modularity nature of the server/client, it's really easy to change some components to add functions.
I've used that force to design a new project manager.
In my professional domain, they are a lot of existing solutions, each one with some heavy drawbacks :
- You must model your pipeline to the project manager. It should be the opposite.
- They either do asset management (datas...) OR project management - planning, but rarely do real project management.
- You must build a lot of tools around them to be useful.
- They usually are really expensive (think 5 digits).
ie.
http://www.nxn-software.com/
http://www.shotgunsoftware.com/
We've searched a long time for a good solution, but FAF design is actually the best option :
- It's modular. It's easy to implement things step by step, even project by project.
- It's in python. Every tool we are use are using python too (maya, nuke, hiero, katana,..)
- It has a solid server-client protocol, with a relay server.
Think of it this way :
- The server is like the FAF server. It manage project, do the DB work, dispatch datas to all clients.
- Clients. They display datas using a simple protocol. They are acting as relay between applications and the server.
- Relay. The same code can be used in any application to access any data related to the project.
IE. the edit module send an edit file to the server, the server parse it, and send it back to the client for validations.
Once validated, each client is aware of the new range of each shot.
One of the development of this project can eventually ported back to FAF : the auto-reconnection of the client if the server goes down.
That's actually eased in this version of the client as it run as a service.