Friday, May 13, 2011

Digital Asset Management (DAM)

Digital Asset Management (DAM)
DAM consists of management tasks related to storage, retrieval and distribution of digital assets. It also refers to the protocol for downloading, renaming, rating, grouping, maintaining and exporting files. The media asset management (MAM) mainly addresses audio, video and animation.

DAM system comprises of computer hardware and software systems that help in the process of digital asset management.
Types of Digital Asset Management Systems
1.       Production asset management systems
It focuses on managing assets as they are created for a digital media production viz. animation, 3D movie, video game. They usually include work-flow and project-management features integrated with the storage organization and revision control of changing digital assets.





2.       Brand asset management systems
Focus of these systems is on facilitation of content reuse within the organization. The type of content it deals with is sales or marketing related. For example: logos, fonts and product images.

3.       Library asset management systems
These systems focus on storage and retrieval of infrequently changing media assets like video or photo archiving.

4.       Digital supply chain services push the digital content out to digital retailers (e.g.  video, music and game)

DAM Vendors
DAM systems are being offered by various vendors in the market. DAM software may be free open source or proprietary.

Open source software:
Resourcespace: It is a php based solution uses MySql as a backend.

Proprietary software:

Digital Rights Management (DRM)

DRM is a method of controlling access to copyrighted material in available digital format. In other words, DRM is a shield around the digital content like videos and music to stop privacy. It is a digital management of rights.

In order to design and implement DRM systems, the following two architectures to be considered:

1). Functional Architecture
This covers the high-level modules of DRM system that together provide an end-to-end management of rights.

The DRM system can be modeled in three areas:
a). Intellectual Property (IP) Asset Creation and Capture This module manage the creation of content so it can be easily traded and includes asserting rights when content is first created.

b). IP Asset Management
To manage and enable the trade of content.

c). IP Asset Usage
To manage the usage of content once it has been traded.

These models needs to be complemented by the functional architecture that provides the framework for the modules to implement DRM functionality.

 2). Information Architecture
This covers the modeling of entities within the DRM system as well as their relationships.

DRM Vendors

Below are the some of the DRM vendors

Microsoft
Real Network
Macrovision
IBM
Seclore

Seclore - Information Rights Management
Seclore FileSecure’s IRM connector for IBM FileNet®  empower enterprises with the ability to robustly secure and monitor access to content and information within and outside of IBM FileNet® without any compromise to collaboration and way people work.
 
http://www.seclore.com/ibm_filenet.html


DRM from IBM

IBM has developed two solutions to enforce DRM at low level:
a). DRM-JVM
In this solution digital rights management has been enforced at Java virtual machine(JVM) level. DRM-JVM does not affect the non DRM solutions.

b). WebGuard
This solution enforces copyrights at the browser level.

Wednesday, April 06, 2011

What is Web 2.0?

Web 2.0
The term Web 2.0 is generally used for those web applications (sites) that facilitate collaboration, information sharing on the World Wide Web (WWW).  Examples of Web 2.0 are wikis, blogs, video sharing sites, social networking etc.
The difference between normal web site and Web 2.0 site lies in the way users interact with Web. A Web 2.0 site allows users to interact and collaborate with each other in a virtual community while users of websites are limited to the passive viewing of the content available on them.
Although the term Web 2.0 suggests a new version of World Wide Web, it does not refer to an update to any technical specification, but rather to changes in the way software development and user community use the Web.
 For more information visit http://en.wikipedia.org/wiki/Web_2.0



Friday, April 01, 2011

Microsoft Sharepoint 2010

Below are some new features/improvements available in MSP 2010

·         Improved Records Management and Digital Asset Management.
·         Advanced Routing – SP System determines which library/folder the new submitted document should be saved based on the associated meta-data.
·         Document Set – Allows grouping of multiple items in order to consolidate them. For example: documents related to one project can be grouped.
·         Search function has been improved with the features like ‘relevance improvement’, people search and FAST search.
·         Business processes improved
·         Chart Web part have been introduced as an aid to the data visualization.
·         Workflow designer has been improved.
·         Moving of the Workflow from test to production environment has been easy in 2010 which was not in 2007.
·         Export/Import from Visio 2010 is available. [Note: SP stores most of the contents in SQL DB instead of the file system]
·         Sharepoint 2010 is 64 bit means it requires 64-bit Windows Server 2008 and 64-bit SQL Server 2005/2008.
·         Service applications have taken place of Shared Service provider (SSP).
·         Sharepoint 2010 Support Major Browsers.
·         New Content related feature like Rich Media Management, Flexible Records Management and Content organizer
·         Tags, Tag Clouds, Tag Profile, Note board, recent activities, enterprise Wikis, ratings and Keyword suggestion are new community features.
·         Business connectivity services (BCS), Visio services and Access services are introduced as composite(mash-up) features. These services help in pulling data from different sources and combining it in a single place.

Sunday, March 13, 2011

Single-Threaded Apartment (STA)


Single-Threaded Apartment (STA)
In .Net, the main method used to be preceded by the following attribute declarations:
[STAThread]
static void Main() {
What is its significance?
After going through multiple blogs and sites I have concluded that if you are not using COM and none of the APIs you are going to use in your application makes use of COM in any way then don’t pay any attention to the concept of APARTMENT.
A thread must use the STA model if it intends to display any GUI. This is the reason why main method has [STAThread] attribute before it.
What is an Apartment?
A process is a collection of virtual memory space, code, data, and system resources.
A thread is code that is to be serially executed within a process.  [A processor executes threads, not processes, so each application has at least one process, and a process always has at least one thread of execution, known as the primary thread. A process can have multiple threads in addition to the primary thread]
In general, the simplest way to view the COM threading architecture is to think of all the COM objects in the process as divided into groups called apartments. A COM object lives in exactly one apartment, in the sense that its methods can legally be directly called only by a thread that belongs to that apartment. Any other thread that wants to call the object must go through a proxy.

What is Single and Multi Thread Apartment?
Single-threaded apartments consist of exactly one thread, so all COM objects that live in a single-threaded apartment can receive method calls only from the one thread that belongs to that apartment. All method calls to a COM object in a single-threaded apartment are synchronized with the windows message queue for the single-threaded apartment's thread. A process with a single thread of execution is simply a special case of this model.
Multithreaded apartments consist of one or more threads, so all COM objects that live in an multithreaded apartment can receive method calls directly from any of the threads that belong to the multithreaded apartment. Threads in a multithreaded apartment use a model called free-threading. Calls to COM objects in a multithreaded apartment are synchronized by the objects themselves.



Thursday, March 10, 2011

SHFUSION.DLL - Assembly Cache Viewer

SHFUSION.DLL - Assembly Cache Viewer

Shfusion.dll
This file generally lies in the c:\windows\microsoft.net\framework\ folder. This file is responsible for showing the c:\windows\assembly (.NET GAC folders) as a special folder which does not allow any I/O operations like copy/delete etc.

In order to see the c:\windows\assembly folder as a normal folder just unregister the shfusion.dll. You need to be an administartor on the machine for running regsvr32 command to unregister this dll.

In order to switch back assembly folder to the original (special) view just register the shfusion.dll using regsvr32 command. Visit http://msdn.microsoft.com/en-us/library/34149zk3(v=vs.71).aspx for more information.

Applies to the .Net Framework up to 3

Monday, February 21, 2011

Access List and Default Item Access List(DIAL) - FileNet CS

Access List [This is the list which governs the access of a user to specific objects]An access list can control access on a user-by-user basis, the lists would become long and difficult to maintain if they listed all possible users by name.For ease of implementation of t he access control, the library system allows assigning access rights to groups, because groups contain sets of users who have common access requirements.
Because a user may belong to more than one group in a library system, access control is determined by a user's active group, that is, the group in which a user is currently working. Thus, when users change their active group, their access rights to objects also change accordingly. Using groups to control access greatly simplifies security. Suppose, for example, that there are seventy users in a library system, but these users all fall into three work groups: employees, supervisors, and a personnel department. Since there are also three groups with those same names, the access list for a document that corresponds to an employee's personnel record would need only three entries (one for each group), rather than seventy (one for each
individual user). If groups are created to match the way people work in an organization, their use in controlling access can ensure people will read and modify only the appropriate information.

An access list contains information about the users and groups who have been assigned specific access rights to a particular object. In CS Explorer, this information is displayed as Access Control object properties. Each Access Control object contains three pieces of information:
• The name of a user or a group
• The type of name
• The access rights granted
By default, a library system uses the following search pattern when determining a user’s access rights to a particular object and assigns the first access rights that apply:
1. Checks to see if the user is a member of the Administrators group.
2. Checks in the object's access list for an entry under the user name.
3. Checks in the object's access list for an entry under the user's active group.
4. Checks the access rights assigned to the General Users group, if included in the access list.
5. Assigns the user access rights of None.
Notice that this search pattern ensures that active members of the Administrators group always receive Admin access; thereafter, access rights specifically granted to a user take precedence over those granted to a group.

Default Item Access List [This list get sused when the user adds document into CS]Another way a library system can help users control access to their files is by inserting default entries in document access lists so that the user does not have to provide the same set of entries each time he or she adds a document.

You can specify a set of default item access list entries for each user in his or her User object. Then, each time that user adds a document to the library system from any user interface, the access list of the Item object is filled in with those specified defaults. Of course, to cover special cases, users can always change the access list of any documents they add, but they do not have to start from scratch with each document.
In the same way that you add entries to the default item access list in the User object, you can also specify them in Group objects and the System object.

Thus, the access lists of documents do not necessarily have a standard set of default entries. The library system does add default entries to the document's access list as the document is added, but to determine these defaults, the library system will check for entries in the Default Item Access List properties in the following objects and use the first such list with any entries:
1. The User object
2. The Group object for the user's active group
3. The System object

Wednesday, February 09, 2011

Version Numbering in FileNet P8 CE

Each document version is assigned a number that reflects whether the document is a major or minor version. This number is automatically assigned and changed by the Content Engine whenever a versioning action, such as a checkout, takes place that changes the version status of the document.
The version number is unique in the document version series and is actually comprised of two properties—the major version number and the minor version number. These properties are described in Versioning properties.
The numbering rules are fairly simple:
  • A minor version always has some number other than zero as its minor number. Both 0.1 and 4.32 are examples of a minor version. Reservation versions are always assigned a minor number.
  • A major version always has an integer other than zero as its major number, and always has a minor number equal to zero; for example, 5.0.
As you can see, these two numbers can be joined into what looks like a single number. Enterprise Manager and application such as Workplace sometimes display these numbers joined together with a decimal divider, with the major number coming before the decimal and the minor number after. In other places like the list of properties in the object property grid, the two properties are listed separately.
If a new document is first checked in as a minor version, its version number becomes 0.1. The next version in this series would be 0.2 if a minor, and would be 1.0 if it is checked in as a major version.
If a new document is first checked in as a major version, its number would be 1.0. The second version in this series would be 2.0 if a major version, and would be 1.1 if it is checked in as a minor version.
A document in the reservation state is always a minor document and has a minor document number. For example, if you check out a document numbered 2.0, the resulting reservation version is numbered 2.1. If you check out a document numbered 2.1, the resulting reservation version is numbered 2.2 (because a reservation is always a minor version).
It is on checkin that users can decide whether to check in the Document as a minor or as major version. A reservation number therefore stays the same if it is checked in as a minor version, and changes if it is checked in as a major version. For example, a reservation numbered 2.1 is still numbered 2.1 if it is checked in as a minor version. If the same reservation numbered 2.1 is checked in as a major version, its number changes to 3.0

Versioning properties

Several document class properties are important to document versioning. Each document version is either a major version or a minor version and is automatically assigned a major number and a minor number. See Version numbering for more about how the major and minor numbers make up a document version number. See What appears in folders? for details about which version of a document shows up by default in Enterprise Manager and applications such as Workplace XT. See Versioning actions to understand how actions like checking out or promoting a document determine the properties described in this topic.
Content Engine maintains the following read-only properties related to versioning:

Major version number

A major version is one that
  • has been approved as released, or
  • was released in the past but has now been superseded by a more recently released version.
Released major versions are typically designed to be available to a wide range of users. Access to superseded major versions is typically more restricted, such as to a select group of authors and reviewers.
Major versions always have a minor number equal to zero. For example, a document with a major version number of 2 and a minor version number of 0, sometimes displayed together with the major number first, as in 2.0, is a major version.
If two-level versioning is used, the major number holds the current major version level of this document version series.
If single level versioning is used, all versions of the version series are major versions. The only exception is that reservations are always given a minor number, which in single-level versioning is therefore always 1. As soon as the reservation is checked in, the minor number goes back to 0 while the major number is incremented by 1.

Minor version number

A minor version is one that has not been approved and released as a major version. The most recently checked in minor version is marked in process. There can be only one in process version in a version series. Older minor versions are marked superseded, and there can be many superseded versions. Access to minor versions is typically restricted to a select group of authors and reviewers. A reservation document (the editable document version created by a checkout) is always a minor document.
A document is a minor version if its minor number is 1 or more (that is, not equal to zero). For example, a document numbered 2.1 has a major version number of 2 and a minor version number of 1 and is therefore a minor version.
If two-level versioning is used, the minor number holds the current minor version level of this document version series. Versions that are major versions (superseded or otherwise) have a minor number of zero. Versions that are minor have some number other than zero for the minor number.
If single-level versioning is used, the minor number is always equal to zero, with the one exception of the reservation as previously described.

Version status

Content Engine provides four versioning states that are automatically applied as a document version series goes through various defined stages. These states are released, in process, reservation, and superseded. Each of these states can be associated with a security template, providing easy control over the permissions granted on the document as it passes into a particular versioning state.
  • Released: A major version that is generally made available to all users. Only one version of a document in a given version series can be in the released state at a time.
  • In process: A checked in minor version, which is typically made available to a restricted set of authors and reviewers. Sometimes referred to as a draft. Only one document in a version series can be in process at a time. When a reservation document gets checked in and becomes the new in process document, the previous in process document becomes superseded.
  • Reservation: A document whose content is currently being edited. A reservation is a full-fledged version and can be saved in the object store indefinitely. Even though you can edit both the properties and content of a reservation, there is nothing unstable about it; it does not act like an unsaved word processing document that is in danger of being lost if it is closed without being explicitly saved to disk. The term reservation is meant to convey that the author who is editing the document has reserved it for his or her own use. There can never be more than one reservation in a version series, because only the current version can be checked out. Reservations are always minor versions. Users can save the content of the reservation document one or more times before checking it in. Do not confuse reservation with Reserved.
  • Superseded: A major or minor version that is no longer the most recent version. A major released version becomes superseded when there is a more recent major released version. A minor becomes superseded when there is a more recent minor in process version. There can be many superseded major and minor versions in a version series.
These version states are actually stored as integers and are sometimes displayed as integers by Enterprise Manager and applications such as Workplace:
  • Released = 1
  • In Process = 2
  • Reservation = 3
  • Superseded = 4
The text values ("Released" and so on) are associated with the integers by the Version Status Lookup Custom Object. You can edit this custom object to change the strings to some other value. You can, for example, change "Released" to "Public version" or "In Process" to "In Progress".
For information about how security policies can be designed to automatically apply these changes of permissions to versions as they change from state to state, see Security policies.

Current version

Current Version is a property that defines which version in a version series is the most recent version, other than the reservation. (The reservation cannot be the current version.) The value of this property is used by events, folder references, and other server or client-based processes that act on the latest version.

Reserved

Reserved is a property that is set on the current version when it is checked out. The term "Reserved" is meant to convey that the current version is no longer available to be checked out. Do not confuse with reservation. When the Reserved property of the current version is set to True, there must also be another version that is the reservation.

Sunday, February 06, 2011

FileNet Content Services Concepts - Part 6

Property Manager The components in the library system that store and maintain in a database a library system's objects and properties. These objects and properties identify and describe stored documents and unstored items. They also describe users, groups, searches, and system components. Each library system has its own Property Manager. The Property Manager is roughly equivalent to the database engine, but has a slightly larger conceptual purpose. For example, each of the library systems that happens to share a database engine is said to have its own unique Property Manager.

Property repository A Microsoft SQL Server database or Oracle tablespace that contains the objects and properties for a single library system. The objects and properties identify and describe stored documents and unstored items. They also describe users, groups, searches, and system components.
The documentation generally refers to a SQL Server database or Oracle tablespace as a property repository only after you have installed the associated library system and applied its initial changes to the database or tablespace. Prior to library system installation, the documentation uses database or tablespace rather than property repository (for example, “To create an Oracle tablespace:").

Property server The server where the library system database engine is installed. Typically, this server is also the initial storage server, but under certain configurations, may be a standalone database server instead.

Storage Manager The library system service that processes operational requests (for example, to check in or check out) and stores version files controlled by the library system.

Storage category To a user, such a category typically describes a type of file (for example, Word Docs, Payroll Records, Memos). To an administrator, storage categories provide a way of controlling load balancing in the various storage repositories. Storage category names are determined by an administrator to reflect the working environment at a particular site. One or more storage categories may be assigned to a storage repository and administrators can change these assignments as load requirements change.[Can be visualize as document class]

Storage repository A storage area (that is, a directory) for specific version files controlled by the library system. Each file is stored according to a storage category, which is assigned when the file is added to the library system as a protected item. A storage repository may be assigned numerous storage categories for a particular installation of a library system.

Storage server Any server where initial or additional services for a library system are installed.

Verity K2 Master Admin The Verity component that governs all Content Search Managers for a library system.

Verity K2 Master Admin Server The server where the CS installer places the Verity K2 Master Admin that governs the Content Search Managers for a given library system.

Archive category Describes a way of handling version files that are moved offline during automatic or manual archiving. Each protected item is given an archive category (for example, Archive To Tape) when it is added to the system. Each archive category is assigned to a specific storage directory called an archive repository.


Archive repository A storage area (that is, a directory) for specific system-controlled version files that are moved offline. The archive repository is where the files are held while awaiting archive storage or destruction outside of the library system. Archive repositories can be described as reclaimable or no reclaimable. Typically, files that are moved offline through a reclaimable archive repository are more easily reclaimed for use at a later time. Each archive repository may be assigned numerous archive categories.

Content Search Manager A software service that contains the program files required to make content searching for version files available with the library system.

Content search repository A named collection of files identifying versions that have been indexed so that users can find those versions based on the actual contents of the version files. You must add at least one of these content search repositories for each Content Search Manager.

FileNet Content Services Concepts - Part 5

Replication Services Overview

Replication Services gives your documents greater availability across your enterprise, automatically and without compromising document integrity. Instead of manually creating and maintaining the necessary user accounts and documents on separate libraries, replication automatically copies the documents and related security to another library system.

Replication Services provides a way to make documents and items in one library system available to other library systems. Replication Services automatically copies documents, items, and their security to additional specified library systems. As documents are checked out, updated, and checked in again, the changes are synchronized across the other libraries.

When a document is replicated, both the file content and the property values for standard properties and existing custom properties of the document are copied into the library systems participating in Replication Services. Users can quickly locate and access a replicated document anywhere in any replicated library. All instances of replicated documents or folders in any library system are periodically synchronized with any alterations to the original document or folder.
However, the synchronization is not immediate. That is, Replication is an asynchronous store-and-forward system. Changes are logged into a queue for processing, and then propagated to the replica libraries. The processing may take place almost immediately, or it may take place only during certain hours of the day, depending on your configuration parameters, the number and type of changes requested, the network load, and the availability of the replica libraries. For example, if a replica library is offline for maintenance (or a power failure), the update cannot be completed until the library is available again.

A replicated document's current status is reflected on all the participating library systems: if checked out, a document will be marked as checked out on all of these library systems. When a new version is checked in, that new version is replicated to all the participating library systems. Replication Services runs independently of the other library system services. Thus, Replication Services can continue running while other library system services are stopped and restarted and can automatically resynchronize with these library system services when they restart. Using Replication Services can have a profound impact on your library system configurations and the hardware and software resources required. Take time to carefully plan your system before you implement replication in your network.



Additional point: You must copy Document Classes and Controlled Vocabulary Lists (CVLs) from one library to another using the import and export tools available in CS Explorer.

FileNet Content Services Concepts - Part 4

Deleting Sessions
In a library system, an active session is the open session that a user is currently working in. There are actually two sessions involved when a user is logged in to a library system via a Content Services client application, such as IDM Desktop or CS Web Admin environment. One is the database connection session, and the second is the Content Services library session.

When a CS client application exits or is killed, the corresponding database connection session is deleted from the database. You can also delete all the database connections at once by stopping and restarting the database. If a database connection session is deleted, then any corresponding active CS library session is said to be an orphan session.

CS library system sessions are tracked by CS Explorer but cannot be removed by it. Neither stopping and restarting the database or CS services will delete an orphan session. Nor will rebooting a workstation where a CS client application is running. To remove these orphan CS library sessions, you can invoke DSSTOP on the server where the library system is resident. Alternatively, you can simply allow the daemon running on the database custodial server to periodically check for suspended sessions. The daemon will remove any orphaned sessions that are more than two days old. To find out what sessions are open in a particular library system and to see whether these sessions are active or suspended, you can check the status of the Sessions object using CS Explorer.

Resetting the Session ID
The library system maintains a unique session ID for each library system session. The session ID is incremented each time a user opens a new session. Over time, it is possible to exceed the limit of approximately 2 billion (231) session IDs.
To avoid an overflow condition, we recommend that you periodically check the value of the Session Number  property in a Session object (the value of this property is the session ID). When the value of the Session Number property approaches 2 billion, you should reset the session ID to 0.



To reset the session ID:
1. Stop the library system and database services.
2. Restart the database services.
3. Using your SQL query tool (SQL Server Query Analyzer for SQL Server or sqlplus for Oracle), reset the session ID to 0.

• For SQL Server enter:
use system_name
go
delete from session
go
update numid set se_id_num=0
go

• For Oracle enter:
delete from system_name.session;
update system_name.numid set se_id_num=0

4. Restart the library system services