Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. SVN Admin Client

SVN Admin Client

Scheduled Pinned Locked Moved The Lounge
sysadmincollaborationcsslinux
22 Posts 8 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    shiftedbitmonkey
    wrote on last edited by
    #1

    Hello y'all, My first post, I hope this is the correct forum.. oh well, I'm sure you'll let me know if it isn't. Our network admin is suggesting we need to convert to a commercial scm for the admin capabilities and doesn't think SVN is up to the task. We the dev team, would like to stay on svn. So, I'm looking for suggestions for a decent gui admin client that can handle replication and repository restoration from backups in an intuitive manner. It can be either for Linux or Windows, the server is linux and we have Mac, Linux, and Windows client machines. Any and all suggestions are welcome, even if its just to flame me for being new. :) Thanks, bitshiftedmonkey

    I've heard more said about less.

    M T Y E S 6 Replies Last reply
    0
    • S shiftedbitmonkey

      Hello y'all, My first post, I hope this is the correct forum.. oh well, I'm sure you'll let me know if it isn't. Our network admin is suggesting we need to convert to a commercial scm for the admin capabilities and doesn't think SVN is up to the task. We the dev team, would like to stay on svn. So, I'm looking for suggestions for a decent gui admin client that can handle replication and repository restoration from backups in an intuitive manner. It can be either for Linux or Windows, the server is linux and we have Mac, Linux, and Windows client machines. Any and all suggestions are welcome, even if its just to flame me for being new. :) Thanks, bitshiftedmonkey

      I've heard more said about less.

      M Offline
      M Offline
      Member 96
      wrote on last edited by
      #2

      Since when should a lowly network admin have *any* say over what the developers want and need? Their job is to facilitate your job, not the other way around. Someone there in management needs to get their priorities straight and you developers need to put your feet down collectively or next time it will be something else even more silly. Subversion is a great source control system and from what I've read probably the best source control system, would you really risk your source code with something lesser just to satisfy the whims of a 2 bit network tech who can be replaced in the blink of an eye?


      "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

      S P 2 Replies Last reply
      0
      • S shiftedbitmonkey

        Hello y'all, My first post, I hope this is the correct forum.. oh well, I'm sure you'll let me know if it isn't. Our network admin is suggesting we need to convert to a commercial scm for the admin capabilities and doesn't think SVN is up to the task. We the dev team, would like to stay on svn. So, I'm looking for suggestions for a decent gui admin client that can handle replication and repository restoration from backups in an intuitive manner. It can be either for Linux or Windows, the server is linux and we have Mac, Linux, and Windows client machines. Any and all suggestions are welcome, even if its just to flame me for being new. :) Thanks, bitshiftedmonkey

        I've heard more said about less.

        T Offline
        T Offline
        Todd Smith
        wrote on last edited by
        #3

        http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.reposadmin.maint.backup[^]

        As you can see, each of the various backup types and methods has its advantages and disadvantages. The easiest is by far the full hot backup, which will always result in a perfect working replica of your repository. Should something bad happen to your live repository, you can restore from the backup with a simple recursive directory copy. Unfortunately, if you are maintaining multiple backups of your repository, these full copies will each eat up just as much disk space as your live repository. Incremental backups, by contrast, tend to be quicker to generate and smaller to store. But the restoration process can be a pain, often involving applying multiple incremental backups. And other methods have their own peculiarities. Administrators need to find the balance between the cost of making the backup and the cost of restoring it.

        Your admin has somewhat of a point. But he's just going to have to get his hands dirty and do his job.

        Todd Smith

        S 1 Reply Last reply
        0
        • M Member 96

          Since when should a lowly network admin have *any* say over what the developers want and need? Their job is to facilitate your job, not the other way around. Someone there in management needs to get their priorities straight and you developers need to put your feet down collectively or next time it will be something else even more silly. Subversion is a great source control system and from what I've read probably the best source control system, would you really risk your source code with something lesser just to satisfy the whims of a 2 bit network tech who can be replaced in the blink of an eye?


          "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

          S Offline
          S Offline
          shiftedbitmonkey
          wrote on last edited by
          #4

          Well, in all fairness the "lesser" system in question appears to be Perforce, which I've used and still like. I just prefer Subversion. It is also not a matter of "management priority" as no decision has been made. This is just the view of the SysAdmin. He's just complaining about a lack of visual tools to assist him in managing the repositories. And alluded to suggesting the change. So, in the effort of working together I'd rather point him to a tool that solves his issues, working with him, instead of working against him in battle over who serves who. I don't appreciate the combative stance that is usually taken in these matters. I'd rather discover his reasoning and then find intelligent solutions that support my choice. :) But thanks for the input without answering my question. :laugh:

          I've heard more said about less.

          M 1 Reply Last reply
          0
          • S shiftedbitmonkey

            Well, in all fairness the "lesser" system in question appears to be Perforce, which I've used and still like. I just prefer Subversion. It is also not a matter of "management priority" as no decision has been made. This is just the view of the SysAdmin. He's just complaining about a lack of visual tools to assist him in managing the repositories. And alluded to suggesting the change. So, in the effort of working together I'd rather point him to a tool that solves his issues, working with him, instead of working against him in battle over who serves who. I don't appreciate the combative stance that is usually taken in these matters. I'd rather discover his reasoning and then find intelligent solutions that support my choice. :) But thanks for the input without answering my question. :laugh:

            I've heard more said about less.

            M Offline
            M Offline
            Member 96
            wrote on last edited by
            #5

            shiftedbitmonkey wrote:

            But thanks for the input without answering my question

            :laugh: I did, I was just thinking of the bigger picture is all. A network admin who desires graphical tools to manage things is a very scary thought indeed.


            "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

            S P 2 Replies Last reply
            0
            • T Todd Smith

              http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.reposadmin.maint.backup[^]

              As you can see, each of the various backup types and methods has its advantages and disadvantages. The easiest is by far the full hot backup, which will always result in a perfect working replica of your repository. Should something bad happen to your live repository, you can restore from the backup with a simple recursive directory copy. Unfortunately, if you are maintaining multiple backups of your repository, these full copies will each eat up just as much disk space as your live repository. Incremental backups, by contrast, tend to be quicker to generate and smaller to store. But the restoration process can be a pain, often involving applying multiple incremental backups. And other methods have their own peculiarities. Administrators need to find the balance between the cost of making the backup and the cost of restoring it.

              Your admin has somewhat of a point. But he's just going to have to get his hands dirty and do his job.

              Todd Smith

              S Offline
              S Offline
              shiftedbitmonkey
              wrote on last edited by
              #6

              Todd Smith wrote:

              Your admin has somewhat of a point. But he's just going to have to get his hands dirty and do his job.

              *sigh* That's too bad. If he can argue from a productivity stance he might gain management's ear. We're in a somewhat small shop and he wears many hats. What is our argument for Subversion against Perforce? In terms of developer productivity? We check out, check in, merge (which perforce handles well), both based off of cvs, so... this might not be a battle I can win.

              I've heard more said about less.

              T 1 Reply Last reply
              0
              • M Member 96

                shiftedbitmonkey wrote:

                But thanks for the input without answering my question

                :laugh: I did, I was just thinking of the bigger picture is all. A network admin who desires graphical tools to manage things is a very scary thought indeed.


                "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

                S Offline
                S Offline
                shiftedbitmonkey
                wrote on last edited by
                #7

                Generally I agree with you. Its not his lack of ability, he has plenty of experience and skills, he's just wearing alot of hats. And, I'd probably have your same feedback if I wasn't staring him in the face and listening to his reasoning. :^)

                I've heard more said about less.

                M 1 Reply Last reply
                0
                • M Member 96

                  Since when should a lowly network admin have *any* say over what the developers want and need? Their job is to facilitate your job, not the other way around. Someone there in management needs to get their priorities straight and you developers need to put your feet down collectively or next time it will be something else even more silly. Subversion is a great source control system and from what I've read probably the best source control system, would you really risk your source code with something lesser just to satisfy the whims of a 2 bit network tech who can be replaced in the blink of an eye?


                  "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

                  P Offline
                  P Offline
                  Paul Conrad
                  wrote on last edited by
                  #8

                  John C wrote:

                  should a lowly network admin have *any* say over what the developers want and need?

                  Absolutely not, they are not the key decision maker in the IT project. They are only to administer the network to keep things flowing.

                  "The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon

                  1 Reply Last reply
                  0
                  • M Member 96

                    shiftedbitmonkey wrote:

                    But thanks for the input without answering my question

                    :laugh: I did, I was just thinking of the bigger picture is all. A network admin who desires graphical tools to manage things is a very scary thought indeed.


                    "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

                    P Offline
                    P Offline
                    Paul Conrad
                    wrote on last edited by
                    #9

                    John C wrote:

                    network admin who desires graphical tools to manage things is a very scary thought indeed.

                    Yes, indeed a very scary thought :rolleyes:

                    "The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon

                    1 Reply Last reply
                    0
                    • S shiftedbitmonkey

                      Hello y'all, My first post, I hope this is the correct forum.. oh well, I'm sure you'll let me know if it isn't. Our network admin is suggesting we need to convert to a commercial scm for the admin capabilities and doesn't think SVN is up to the task. We the dev team, would like to stay on svn. So, I'm looking for suggestions for a decent gui admin client that can handle replication and repository restoration from backups in an intuitive manner. It can be either for Linux or Windows, the server is linux and we have Mac, Linux, and Windows client machines. Any and all suggestions are welcome, even if its just to flame me for being new. :) Thanks, bitshiftedmonkey

                      I've heard more said about less.

                      Y Offline
                      Y Offline
                      Yusuf
                      wrote on last edited by
                      #10

                      I've used this in the past to compare various scm tools. On personal side, i've worked in places where decent scm never has been a tool-of-the-craftman. (PVCS, VSS ...) :(

                      shiftedbitmonkey wrote:

                      Any and all suggestions are welcome, even if its just to flame me for being new.

                      I never seen any one being flamed just because they are *new*. what torchs the posters is their attitude and arrogance, which I didn't see in your post. ;)

                      Yusuf

                      1 Reply Last reply
                      0
                      • S shiftedbitmonkey

                        Todd Smith wrote:

                        Your admin has somewhat of a point. But he's just going to have to get his hands dirty and do his job.

                        *sigh* That's too bad. If he can argue from a productivity stance he might gain management's ear. We're in a somewhat small shop and he wears many hats. What is our argument for Subversion against Perforce? In terms of developer productivity? We check out, check in, merge (which perforce handles well), both based off of cvs, so... this might not be a battle I can win.

                        I've heard more said about less.

                        T Offline
                        T Offline
                        Thelly
                        wrote on last edited by
                        #11

                        How much work is he really having to do on the repositories? If he's going to argue that switching to Perforce will be more productive (I take it he has experience with Perforce?), then how much adjustment will that require for the developers to get used to the Perforce interface and quirks compared to whatever you all are using for SVN? Also, if you use the scripting hooks at all, can that be easily recreated? All in all, I'd be a bit skeptical about any argument that is claiming to save admin time on account of a GUI for backups... I don't know your admin, but all the admins I do know generally complain when they *have* to use a GUI for that sort of thing, not when they can't. Does he perhaps have some other reason for preferring Perforce (is he suggesting that specifically, or a commercial product in general)? One admin's preference should not overrule the operating comfort of a room full of developers... if your team(s) prefer SVN, that should be argument enough.

                        S 1 Reply Last reply
                        0
                        • S shiftedbitmonkey

                          Hello y'all, My first post, I hope this is the correct forum.. oh well, I'm sure you'll let me know if it isn't. Our network admin is suggesting we need to convert to a commercial scm for the admin capabilities and doesn't think SVN is up to the task. We the dev team, would like to stay on svn. So, I'm looking for suggestions for a decent gui admin client that can handle replication and repository restoration from backups in an intuitive manner. It can be either for Linux or Windows, the server is linux and we have Mac, Linux, and Windows client machines. Any and all suggestions are welcome, even if its just to flame me for being new. :) Thanks, bitshiftedmonkey

                          I've heard more said about less.

                          E Offline
                          E Offline
                          Ed Poore
                          wrote on last edited by
                          #12

                          VisualSVN Server[^].  I suppose if the box you're running is Linux you can set up a mapped drive on a Windows machine to administer it.  Integrates with Active Directory as well so nice and simple to use in a networked environment.

                          S 1 Reply Last reply
                          0
                          • T Thelly

                            How much work is he really having to do on the repositories? If he's going to argue that switching to Perforce will be more productive (I take it he has experience with Perforce?), then how much adjustment will that require for the developers to get used to the Perforce interface and quirks compared to whatever you all are using for SVN? Also, if you use the scripting hooks at all, can that be easily recreated? All in all, I'd be a bit skeptical about any argument that is claiming to save admin time on account of a GUI for backups... I don't know your admin, but all the admins I do know generally complain when they *have* to use a GUI for that sort of thing, not when they can't. Does he perhaps have some other reason for preferring Perforce (is he suggesting that specifically, or a commercial product in general)? One admin's preference should not overrule the operating comfort of a room full of developers... if your team(s) prefer SVN, that should be argument enough.

                            S Offline
                            S Offline
                            shiftedbitmonkey
                            wrote on last edited by
                            #13

                            While I appreciate everyone's input regarding the admin's place in the hierarchy, I really just want to help make his life easier and find a gui client that he can use. Not debate the merits of his willingness to figure it out on his own. Hmmm, I get the feeling that folks here ignore the question and seek out something fun to debate instead. Not that there's anything wrong with that, this being a lounge and all. Thanks anyway. At least one person had an answer to my question.

                            I've heard more said about less.

                            1 Reply Last reply
                            0
                            • E Ed Poore

                              VisualSVN Server[^].  I suppose if the box you're running is Linux you can set up a mapped drive on a Windows machine to administer it.  Integrates with Active Directory as well so nice and simple to use in a networked environment.

                              S Offline
                              S Offline
                              shiftedbitmonkey
                              wrote on last edited by
                              #14

                              Thanks! Looks interesting, I'll give it a once over. We don't need to install SVN though, just looking for a thin client to attach to our existing system, but maybe this does that as well though.

                              I've heard more said about less.

                              1 Reply Last reply
                              0
                              • S shiftedbitmonkey

                                Hello y'all, My first post, I hope this is the correct forum.. oh well, I'm sure you'll let me know if it isn't. Our network admin is suggesting we need to convert to a commercial scm for the admin capabilities and doesn't think SVN is up to the task. We the dev team, would like to stay on svn. So, I'm looking for suggestions for a decent gui admin client that can handle replication and repository restoration from backups in an intuitive manner. It can be either for Linux or Windows, the server is linux and we have Mac, Linux, and Windows client machines. Any and all suggestions are welcome, even if its just to flame me for being new. :) Thanks, bitshiftedmonkey

                                I've heard more said about less.

                                S Offline
                                S Offline
                                Stuart Dootson
                                wrote on last edited by
                                #15

                                svnadmin (the CLI admin program) is incredibly easy to use. In addition, you've got good scripting language bindings (Python, Perl, Ruby) that are dead simple to use. At work, we recently set up SVN on our development LAN. I developed an SVN admin web-app in 50-60 lines of Python, running under Apache+mod_python on the SVN server (the same Apache instance that gives http access to the SVN repositories). At present, it only does repository creation and deletion - the main driver was to reduce the need for developers to login to the server. However, extra functionality would be very, very easy to add. It took 2 or 3 days to develop - most of the time was taken learning Apache, Python and the libraries - it was my first web-app. Setting up backups took an hour or so? We replicate with an svnadmin hotcopy, 7zip the replicated repository and rsync it to a backup, all in a scheduled task. One question - how often do you anticipate having to restore a repository from a backup? I would suggest 'once in a blue moon' :-), in which case logging into the server and typing one or two command lines really isn't an unbearable load, so long as your sys-admin documents the procedures adequately - as they ought to do whtever the procedure is... Oh - here are the svnadmin GUI's I found on Google:

                                • wxsvnadmin[^] - looks quite immature.
                                • svnadminforfh[^] - web-based interface. This is the best approach - remember that SVN admin tasks generally require direct access to the filesystem hosting the SVN repository, so a web-app is a good way of remoting SVN admin tasks.

                                Personally, I wouldn't bother with them. SVN admin activities just aren't needed that often, so it's just as easy to remote desktop into the server and use svnadmin from a terminal window. Overall, I would say that we've spent maybe a day or two (i.e. less than 20 man-hours) administering our SVN repositories. This admin load is so small that I don't see how it should sway the SCM tool selection process.

                                S 1 Reply Last reply
                                0
                                • S Stuart Dootson

                                  svnadmin (the CLI admin program) is incredibly easy to use. In addition, you've got good scripting language bindings (Python, Perl, Ruby) that are dead simple to use. At work, we recently set up SVN on our development LAN. I developed an SVN admin web-app in 50-60 lines of Python, running under Apache+mod_python on the SVN server (the same Apache instance that gives http access to the SVN repositories). At present, it only does repository creation and deletion - the main driver was to reduce the need for developers to login to the server. However, extra functionality would be very, very easy to add. It took 2 or 3 days to develop - most of the time was taken learning Apache, Python and the libraries - it was my first web-app. Setting up backups took an hour or so? We replicate with an svnadmin hotcopy, 7zip the replicated repository and rsync it to a backup, all in a scheduled task. One question - how often do you anticipate having to restore a repository from a backup? I would suggest 'once in a blue moon' :-), in which case logging into the server and typing one or two command lines really isn't an unbearable load, so long as your sys-admin documents the procedures adequately - as they ought to do whtever the procedure is... Oh - here are the svnadmin GUI's I found on Google:

                                  • wxsvnadmin[^] - looks quite immature.
                                  • svnadminforfh[^] - web-based interface. This is the best approach - remember that SVN admin tasks generally require direct access to the filesystem hosting the SVN repository, so a web-app is a good way of remoting SVN admin tasks.

                                  Personally, I wouldn't bother with them. SVN admin activities just aren't needed that often, so it's just as easy to remote desktop into the server and use svnadmin from a terminal window. Overall, I would say that we've spent maybe a day or two (i.e. less than 20 man-hours) administering our SVN repositories. This admin load is so small that I don't see how it should sway the SCM tool selection process.

                                  S Offline
                                  S Offline
                                  shiftedbitmonkey
                                  wrote on last edited by
                                  #16

                                  Thanks! Sounds like what you did would be the best route for us. I'll look into that. Then we could grow it into something really useful and tailored to our needs. I didn't google as I was hoping to harvest people's experience and mine from that a best course. I like the path you took. Thanks for taking the time, shiftedbitmonkey

                                  I've heard more said about less.

                                  S 1 Reply Last reply
                                  0
                                  • S shiftedbitmonkey

                                    Generally I agree with you. Its not his lack of ability, he has plenty of experience and skills, he's just wearing alot of hats. And, I'd probably have your same feedback if I wasn't staring him in the face and listening to his reasoning. :^)

                                    I've heard more said about less.

                                    M Offline
                                    M Offline
                                    Member 96
                                    wrote on last edited by
                                    #17

                                    I am a bit mystified about all this. In our shop which is a very small one *I* am the network administrator and we run a subversion server with mirrored server a thousand miles away and the amount of administration I've ever had to do on it post installation can be counted in minutes not hours over the last year. It's about the most care free server software we run. There's really nothing to do once it's set up except upgrade it periodically and because I'm paranoid check the revision numbers locally and remotely to ensure the changes are mirroring out as they are comitted.


                                    "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

                                    S 1 Reply Last reply
                                    0
                                    • S shiftedbitmonkey

                                      Thanks! Sounds like what you did would be the best route for us. I'll look into that. Then we could grow it into something really useful and tailored to our needs. I didn't google as I was hoping to harvest people's experience and mine from that a best course. I like the path you took. Thanks for taking the time, shiftedbitmonkey

                                      I've heard more said about less.

                                      S Offline
                                      S Offline
                                      Stuart Dootson
                                      wrote on last edited by
                                      #18

                                      To get you started - here's the Python code I use for creating a repository at a file-system path specified by the reposPath parameter. It creates a repository with trunk, tags and branches folders off the root folder of the repository. By doing this directly on the filesystem, the folders are present at revision 1 of the repository.

                                      from svn import fs, repos
                                      
                                      def createNewRepository(reposPath):
                                          newRepository = repos.svn_repos_create(reposPath, None, None, None, None)
                                          fileSystemPtr = repos.fs(newRepository)
                                          transaction = fs.begin_txn(fileSystemPtr, 0)
                                          fs.make_dir(fs.txn_root(transaction), "trunk")
                                          fs.make_dir(fs.txn_root(transaction), "tags")
                                          fs.make_dir(fs.txn_root(transaction), "branches")
                                          fs.commit_txn(transaction)
                                          return newRepository
                                      
                                      S 1 Reply Last reply
                                      0
                                      • M Member 96

                                        I am a bit mystified about all this. In our shop which is a very small one *I* am the network administrator and we run a subversion server with mirrored server a thousand miles away and the amount of administration I've ever had to do on it post installation can be counted in minutes not hours over the last year. It's about the most care free server software we run. There's really nothing to do once it's set up except upgrade it periodically and because I'm paranoid check the revision numbers locally and remotely to ensure the changes are mirroring out as they are comitted.


                                        "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

                                        S Offline
                                        S Offline
                                        shiftedbitmonkey
                                        wrote on last edited by
                                        #19

                                        Small shop as in 50 employees with 18 engineers. 15 different products including an underlying custom OS, across three code bases. Some customized branches for specialized releases. Yeah, I don't know what to make of it either. I smell a strawman.

                                        I've heard more said about less.

                                        1 Reply Last reply
                                        0
                                        • S Stuart Dootson

                                          To get you started - here's the Python code I use for creating a repository at a file-system path specified by the reposPath parameter. It creates a repository with trunk, tags and branches folders off the root folder of the repository. By doing this directly on the filesystem, the folders are present at revision 1 of the repository.

                                          from svn import fs, repos
                                          
                                          def createNewRepository(reposPath):
                                              newRepository = repos.svn_repos_create(reposPath, None, None, None, None)
                                              fileSystemPtr = repos.fs(newRepository)
                                              transaction = fs.begin_txn(fileSystemPtr, 0)
                                              fs.make_dir(fs.txn_root(transaction), "trunk")
                                              fs.make_dir(fs.txn_root(transaction), "tags")
                                              fs.make_dir(fs.txn_root(transaction), "branches")
                                              fs.commit_txn(transaction)
                                              return newRepository
                                          
                                          S Offline
                                          S Offline
                                          shiftedbitmonkey
                                          wrote on last edited by
                                          #20

                                          Thanks!

                                          I've heard more said about less.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups