How can we use the API to clone a Workspace

Answered

Comments

14 comments

  • Andreas Haugstrup Pedersen

    Hi Jamie,

    Your best bet is to have a master workspace that you use the clone app feature to clone each app individually to your target workspaces. Use https://developers.podio.com/doc/applications/install-app-22506 to clone apps programmatically.

    All the best,

    Andreas 

    0
    Comment actions Permalink
  • Jamie McDermott

    Hi Andreas,

    Thank you for your reply. I'm not technically knowledgable on anything 'API' related, so please excuse my basic understanding - are you saying that something could be developed to make the process achievable from the click of a button (or entering a name for a wordspace outside of Podio which then creates a new clone of the master workspace, its Apps and App items and adds that name to it?

    Thanks,

    Jamie

    0
    Comment actions Permalink
  • Andreas Haugstrup Pedersen

    That is correct. You'll need someone with technical knowledge to build it for you though :)

    /Andreas

    0
    Comment actions Permalink
  • Carl-Fredrik Herö

    Some shameless self promotion here Jamie. I work for Elvenite in Sweden. We are one of a few Podio Preferred Partners. If you feel the need to build this Elvenite, or pretty much any other preferred partner are more than happy to help you.

    // Carl-Fredrik

    Ps. All the partners can be found here: https://company.podio.com/partners (I'm the blurred guy on the left behind the text on the top image)

    0
    Comment actions Permalink
  • Chris Straight

    As a proof of concept, I created a powershell script that uses the .NET client library that creates a workspace, changes the URL, adds members to the space based on email addresses and installs all the applications from a specific template workspace. Looks like install-app API installs the application, but does not bring the data over.

    So I'm guessing you'd have to install all the applications, loop through the items in each application in the template workspace grab the items from there and add them to the apps in the new workspace. 

    0
    Comment actions Permalink
  • Andreas Haugstrup Pedersen

    Please don't loop over all the items in the app. It'll take forever and you'll hit the rate limit. The Install App operation takes a list of features as the arguments. One of these is "items" and it'll clone the app to the new location and copy over all the app items as well. See https://developers.podio.com/doc/applications/install-app-22506

    0
    Comment actions Permalink
  • Chris Straight

    Oh great then. I didn't read that closely enough and that you had to specify items. Easy enough!

    0
    Comment actions Permalink
  • Jamie McDermott

    Thanks for the help Andreas, and for the other suggestions Chris & Carl-Fredrik!

    I'll check out your website, Carl-Fredrik and potentially be in contact.

    Jamie

    0
    Comment actions Permalink
  • Korush Mahdavieh

    When I uses the API to clone apps including content, does this copy files etc? I want to make sure that when i clone the application, then delete my old applications the files will still be viewable?

    0
    Comment actions Permalink
  • Daniel Schulz-Jackson

    If you don't mind, (I'm sure I could figure this out on my own but it would help me and others to have a head start...)

    What value should be provided in the 'items' field in order that the "Install app" command will "clone the app to the new location and copy over all the app items as well."

    Oh. I get it. Never mind. 'items' isn't a parameter, but rather a value for the 'features' parameter array! So all I'll have to do is add the string 'items' into my array of 'features', and all the items will be cloned from whatever existing app I've provided the ID for.

    Thanks!

    0
    Comment actions Permalink
  • Chris Straight

    Having trouble figuring out the format for passing ensuring Items are installed. I'm not specifying any features. How would I go about specifying all of the features including items?

    Podio::Application.install(app.app_id,{"space_id" => newSpace['space_id']})

    0
    Comment actions Permalink
  • Chris Straight

    Ahhh got it. Podio::Application.install(app.app_id,{"space_id" => newSpace['space_id'],"features" => ['filters', 'tasks', 'widgets', 'integration', 'forms', 'items']})

    0
    Comment actions Permalink
  • Chris Straight

    Podio::Application.install(app.app_id,{"space_id" => newSpace['space_id'],"features" => ['filters', 'tasks', 'widgets', 'integration', 'forms', 'items']})

    Looks like 'tasks' isn't valid anymore. Had to remove it:

    "Invalid value \"tasks\" (string): must be one of {'votings', 'items', 'integration', 'flows', 'forms', 'filters', 'widgets'}", "error"=>"invalid_value"}

    0
    Comment actions Permalink
  • Sean Mathes

    I'm a little confused? This seems like common sense to me that this would be a basic feature in the GUI. What am I missing?I am technical just not a developer.

    0
    Comment actions Permalink

Please sign in to leave a comment.

Powered by Zendesk