Jeff Longland

Relax, don't worry – have a home brew!

#BbW12 DevCon2012 – Copy is a four letter word!

leave a comment »

  • Presenter: Malcolm Murray
  • Example is for a library reading list, where a courseId, contentId, recordId and materialType are passed to a ViewServlet
  • Every content type has a corresponding directory in the app’s content area
  • Recommendation – don’t use contentId as the name.  It will break when you do a copy.
  • Use template variables wherever possible.  Stick extra data in the content area.
  • When you copy an item, the item is given a new PK1.  As Malcolm noted, it could be debated whether this is the ‘proper’ way to handle it.
  • A more complicated example – the SignUp tool
  • Adding an OpenDB schema gives you the ability to use something like on-delete=’cascade’ to clean permissions as users are removed.
  • Bb’s course copy doesn’t do anything with custom content types.
  • To work-around the limitation, you need to create an empty tool – ensure it’s set as default off, otherwise it appears.
  • Define a CxComponent object that overrides:
    • getComponentHandle
    • getApplicationHandle
    • getName
    • getUsage
    • doCopy
    • doImport
    • doExport
  • Usage.ALWAYS will always try to copy the content.  Won’t be displayed in the list of content to copy, will simply happen.
  • CopyControl provides methods to determine the source courseId, destination courseId, whether it’s a copy action or restore action etc.
  • Link to slides

Written by jlongland

July 9, 2012 at 8:37 am

Posted in Blackboard DevCon 2012

Tagged with ,

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: