7 Replies Latest reply on Aug 27, 2018 10:32 AM by Nik Edmiidz

    Migrating Jive content to google sites

    petembrenn

      Hi, is it possible to do a wholescale migration of jive content to google sites using the REST API? I'm trying to gauge how difficult this would be and how much data would be lost. Thanks!

        • Re: Migrating Jive content to google sites
          jgoldhammer

          Hi Peter,

           

          I have written a complete export of Jive for another customer as backup solution. You can export almost everything- some smaller things are not possible.

           

          I would guess that the transformation to the source system google sites is not that easy. The Google Sites format for content differs a lot...

           

          Thanks

          Jens

            • Re: Migrating Jive content to google sites
              petembrenn

              Thanks Jens!

              Is there any documentation that you could direct me towards that would help me and my team to write a similar export? None of us have very much experience working with Jive's API. As of now, having a backup solution would be very helpful for us. We can worry about transforming the content later. Thanks again for the reply!

              -Peter

                • Re: Migrating Jive content to google sites
                  john_reynolds

                  Hi Peter,

                   

                  As Jens can attest, the work on an export would take considerable time, so the API docs are the best place to start.  Jive's APIs are known to be very robust and easy to work with. Here are some guidelines

                  • The /contents service (Jive REST API v3.14 → Content service) will be the first place to start, and each content type (documents, discussions, etc) can be fetched together or separately. There is no call to get "all the content" at once, so you will have to use the "next" URL in the JSON output to continue to iterate over content until you have it all (basically "fetch when 'next'". Comments and Likes can also be retrieved using this service
                  • The /people service (Jive REST API v3.14 → Person service) will allow you to get the authors of all your content. Not sure how the Google API would handle this, but if you need to attribute content to the original author, this would be how
                  • The /place service (Jive REST API v3.14 → Place service) will help you get place information where the current content is stored

                   

                  Anything else you would need would depend on your content (e.g. Ideas, or Events) and often times you would use the Target site to configure what you need instead of using the API. For example, in Jive, there's no way to extract permissions using the API, so it's common to do this manually, as long as it's a reasonable effort.

                   

                  Hope that helps.

                  • Re: Migrating Jive content to google sites
                    jgoldhammer

                    Peter,

                     

                    I have used the Jive API docs to implement the backup solution. It is a mix from different endpoints, e.g. to download videos etc.

                    I have implemented a standalone app with oauth2 authentication and Spring Resttemplate (for calling the REST endpoints) on top of Spring Boot with Java.

                     

                    Our export runs over all places (groups and spaces), create folders for it, run over all content of the place incl. blog posts, create folder for each content and in this folder we have the json file, the binary files (if present), the attachments, the comments as json etc.

                     

                    Additionally we run over all users, create a folder for each user, download the user content like before.

                    Additionally we download whole content of the community itself which are not placed into a space or group.

                     

                    We have no export for the places configuration, pages, tiles and widgets- this would be possible to a certain extent, but was not useful for the customer.

                     

                    If you want to speak about it, ping me on j.goldhammer@fme.de and we will find a hour to speak about that.

                     

                    Thanks

                    Jens

                    1 person found this helpful
                      • Re: Migrating Jive content to google sites
                        john_reynolds

                        Peter Brennan,

                         

                        To build upon Jens comment, there's one basic principle with getting Jive data. I'll use the example with People (/people service)

                        1. Pop this API call into your browser: https://<yourcommunitydomain>/api/core/v3/people
                        2. You'll see at the top of the JSON response that it shows how many results are included (25) and the URL for the next batch ("next")

                          {
                            "itemsPerPage" : 25,
                            "links" : {
                                 "next" : "https://socialedgeconsulting.jiveon.com/api/core/v3/people?sort=firstNameAsc&fields=%40summary&origin=unknown&count=25&startIndex=25"
                          },

                        3. In your program, you could a) write the 25 results to a unique file or b) keep the results in memory and keep adding the next batch of results to memory
                        4. Once you deal with the current 25, you just execute the API call on the "next" URL and iterate until there aren't any more "next" URLs

                         

                        Since you mentioned you don't have a lot of experience, doing this with a simple object like /people will help you gain that experience, then you can do the same with places and content. I'm trying to think, but that should include 90% of what you probably want to back up

                        1 person found this helpful
                  • Re: Migrating Jive content to google sites
                    Nik Edmiidz

                    If the content is not that much, or you run the migration very slowly, you could run it for free in Google Apps Script and paginate through it like John Reynolds  suggests, but maybe only a few hundred a day. Plus GAS is much easier to code in than other languages.

                     

                    You could just reverse the direction of this migrator my team built when we first when from Google Sites to Jive 4 years ago.
                    GitHub - mdsol/GASIntranet

                    1 person found this helpful