3 Replies Latest reply on Apr 26, 2008 10:32 PM by Dr. Fred Mbogo

    AIR for front-end to a Version Controlled Repository

    _mjl
      Would AIR be a good solution for distributing a central document repository to non-tech users? I would like to distribute an AIR app which (1)uses svn or some other revision control client in the background to sync to a central document library (probably PDFs initially); (2) Provides rich search across the whole collection or sub-collections in the library; (3) in the future can be added to to provide social networking around the library for end-users, and (4) farther down the road can be a front-end for users to create custom documents out of the library contents.

      Any projects that match any of these design goals? Or, how would you implement these yourself? Especially (1) as that is the core function. And why, or not, would AIR be a good choice?
        • 1. Re: AIR for front-end to a Version Controlled Repository
          Dr. Fred Mbogo Level 1
          AIR apps can't launch external programs on the local machine, so your idea of using an svn client goes out the window.

          But, Flash does have fair networking capabilities. You might be able to implement a WebDAV client without too much trouble, which lets you talk to svn repositories configured to use it. It should be easier to write for a text-based protocol like that rather than svn's own binary protocol.

          Setting up a WebDAV server is a little more difficult than svnserve or svn+ssh, but not too bad. I was surprised to find that as of OS X 10.5, all the pieces are in the default install to set this up, they just have to be turned on in the Apache configuration. I imagine the same is true of some Linux distributions.
          • 2. Re: AIR for front-end to a Version Controlled Repository
            _mjl Level 1
            Is it possible that a svn library would be developed for AIR so that it would not need to call an external program? Does WebDAV do syncing?
            • 3. Re: AIR for front-end to a Version Controlled Repository
              Dr. Fred Mbogo Level 1
              quote:

              Originally posted by: _mjl
              Is it possible that a svn library would be developed for AIR so that it would not need to call an external program?

              Of course, but it's also possible that there will be a Ferrari in my driveway when I leave the house tomorrow. In an infinite universe, everything is bound to happen at least once.

              Open source doesn't move forward under the power of wish-think. It moves forward when someone such as yourself has an itch and decides to scratch it, then releases the code for others to use. Get cracking. :)

              quote:

              Does WebDAV do syncing?

              Yes, in about the same way that HTTP does bold text.

              WebDAV is an extension to HTTP that turns it into a networked file system, including file versioning support. For a good overview of what it is and what you can do with it, including the svn angle, listen to this episode of the FLOSS Weekly podcast.

              WebDAV defines a way to transport file version modifiation commands from your AIR program to an Apache server running the mod_dav_svn module. You don't say "WebDAV, please synchronize my local directory with the svn repo". You say, "Hey, WebDAV server, what is the current revision of file foo/bar/baz.txt?" It says, "r34255" Then your program says, "I have revision r34254 of this file, so please Mr WebDAV server, give me the differences between r34254 and r34255, and I will apply the changes locally".

              Yes, it will be a fair amount of work to build such a thing. That's why it will be worthwhile when you are finished. :)