2 Replies Latest reply: Jun 10, 2013 2:39 PM by wkoepcke RSS

    Group/Space templates

    Powell

      I foresee the need for us to support some sort of 'templatizing' of spaces or groups in the Jive world?

      I know that the Copy function can be used to do this 'sort' of, but I think I need something more.

      Example, we need a template for a place of Type A, that has a specific layout, with specific widgets in place.

      When user creates a place they select type: Type A

      and the get the predetermined layout with the predefined widgets in place.

      How could such a thing be acomplished, or is it even possible?

       

      Thank you!!

      Powell

        • Re: Group/Space templates
          Fahad Nari

          Looks like no ones is bothered to reply to your question. Did you find a way to templatize spaces

            • Re: Group/Space templates
              wkoepcke

              Hi,

               

              You can try taking a look at the WidgetManager interface, there are helpful methods there.

              We were using this code in Jive 4.5.  I just migrated it and it looks like it is still working in Jive 6.0.1.

              Though this works it is old code there maybe a better way now.

              WidgetDescriptor wd= widgetManager.getWidgetByName("com.jivesoftware.community.widget.impl.FeaturedContentWidget");

              if (wd != null) {

                  WidgetFrameBean wfb = new WidgetFrameBean();

                  wfb.setParentObjectType(JiveConstants.COMMUNITY);

                  wfb.setParentObjectID(community.getID());

                  wfb.setContainerID(1);  // 1 = left column             

                  wfb.setWidgetID(wd.getID());

                  wfb.setIndex(1); // First widget in the left column

               

                  widgetManager.publishWidgetFrames(community);

                   WidgetLayoutDescriptor wld = widgetManager.getWidgetLayoutByName(OneSmallOneLargeOneSmallColumnLayout.class.getName());

                      try {

                          WidgetLayout wl = widgetManager.getWidgetLayout(wld);

                          widgetManager.addWidgetLayout(community, wl);

                          widgetManager.publishWidgetLayout(community);

                      } catch (ClassNotFoundException e) {

                          log.info("Unable to publish three column widget layout for new project: ";

                      }

              }