Subscribe by Email

Your email:

Current Articles | RSS Feed RSS Feed

XInet WebNative Suite adds HTML, MP3 and enhanced SWF support.

Posted by Kenny Kirsch on Mon, Jun 14, 2010 @ 10:19 AM
Share on Facebook Facebook | Submit to Digg digg it |  Add to delicious  delicious |  Submit to StumbleUpon StumbleUpon |  Share on LinkedIn LinkedIn |  Share On Technorati Technorati | Submit to Reddit reddit 

There are a lot of chocies for DAM [Digital Asset Management] out there and many of them do a good job with specific features. The reality is - Xinet indexes files like no other DAM does. It's ingestion engine is fast and powerful and gives users the ability to share, repupose and distribute files from any standard web browser.

Xinet has been slow to add many new 'digital' formats to it's list of previewable file types – until recently. With Xinet's Video 4 module you get a lot of the new formats and it does a great job with HTML (see image above).

If you own Xinet already - it's a no brainer. If you don't it's still worth a look. I was very impressed with how quickly it displayed HTML previews and made them browsable and searchable in seconds. 

1 Comments Click here to read/write comments

Is Xinet WebNative a money saver or money maker?

Posted by Kenny Kirsch on Mon, Mar 01, 2010 @ 08:26 PM
Share on Facebook Facebook | Submit to Digg digg it |  Add to delicious  delicious |  Submit to StumbleUpon StumbleUpon |  Share on LinkedIn LinkedIn |  Share On Technorati Technorati | Submit to Reddit reddit 

It's 2010, the worst is over (or so they say). So now it's time to get focused and see how to leverage what you have and maximize revenue. Make a list of your team's expertise and the technology you own and see what new services you can offer or what processes you can improve. Your clients are looking for what's next, so make your offering what's next! Too often companies get stuck in what they know and aren't willing to put in the extra efforts. 

If you're confused – NAPC offers refresher training, online video how-to's (flatheadu.com) and free 1 hour training webinars every other Friday. 

I have leveraged the Xinet WebNative Suite in a couple of large advertising agencies, saved thousands in freelance and created six figure new revenue streams.  Now it's your turn - we at NAPC want to hear about your success stories; not read about the client you lost.

0 Comments Click here to read/write comments

Portal v3 - Markups and Annotations on your assets

Posted by Brian Dolan on Wed, Oct 07, 2009 @ 07:51 AM
Share on Facebook Facebook | Submit to Digg digg it |  Add to delicious  delicious |  Submit to StumbleUpon StumbleUpon |  Share on LinkedIn LinkedIn |  Share On Technorati Technorati | Submit to Reddit reddit 

Now that version 3 of Portal is out, the markup and annotations feature is available to those that upgrade.  Now, that doesn't mean go out and install it immediately people!  Always make sure to contact NAPC first before any upgrades and ya know what, we're here to install it for you any way!  So, back to my point.

Portal 3, annotations & markups, yeah that's right!.  It's a very cool feature that deserves it's own min-blog.

Let's make this easy . . . the notes below come directly from Xinet's release notes of Portal v3:

"WebNative Portal 3.0, in conjunction with WebNative 16.0, allows on-line annotations of all images, documents, and videos. A palette allows users to add text, boxes, stamps, or sketches, and all of the annotations can be done in black or a range of colors. When adding annotations, the preview can be magnified for closer inspection. Individual annotations may be saved (with or without comments), deleted, or temporarily hidden from view. The annotations are stored in the Venture database, so any other WebNative user may access saved annotations via mview in Portal but the annotations are not saved to the file on the file system."

If you'd like to see a demo of this, please contact your Account Manager so we can arrange a quick demo.  Just another reason to get Portal or upgrade to the latest version!

0 Comments Click here to read/write comments

Who's On My Portal Server?

Posted by Sean Kenny on Thu, Oct 01, 2009 @ 12:37 PM
Share on Facebook Facebook | Submit to Digg digg it |  Add to delicious  delicious |  Submit to StumbleUpon StumbleUpon |  Share on LinkedIn LinkedIn |  Share On Technorati Technorati | Submit to Reddit reddit 

 

Sometimes it would be nice to know who is actively logged into your Xinet Portal Server. Unfortunately there is not a current tool offered to retrieve this information...until now!

Using a simple php script it's actually possible to scrape the current php sessions that have been created and obtain a list of users that have active php sessions in Portal.

A little background on this....

On Portal servers php stores it session data inside of th session directory /tmp, this is specified by the session.save_path ini variable. All session files start with the prefix "sess_". Inside of a session file you will find a plethora of serialized text data, that php is managing with its session functions. Although this serialized information is highly unreadable, is is still possible to pick some key data out of it, without needing to go through a deserialization process.

So basically for each user logged in via Portal, a corresponding session file will be created inside of the /tmp directory. Contained within this file will be useful information including the username. So at this point all we need to to is create a php script that will read all the php session files located on the server and displays the count of usernames that it finds!

php code that does this looks like the following:

<?php

//create an empty array to house our users in
$users = array();


//loop through all of the sesssion files found in the php session temporary directory
foreach(glob('/tmp/sess_*') as $session_file){

    //get the contents of the sessions as a string
    $session_data = file_get_contents($session_file);
    
    //with a regex mine out the username contained within the session data
    preg_match('/USERNAME.*?"(.*?)";/', $session_data, $matches);

   //get the matched pattern out of the first grouping of the pattern
    $session_user = $matches[1];

   //if the found value is not empty then create the key for the array and/or increment the user count (users can be logged in multiple times)
    if ($session_user) $users[$session_user]++;
  }

//now that we have done the heavy lifting proceed to display the result with a simple foreach iteration over the users array that we have populated...

?>

<H1>Active Portal User Sessions</H1>

<UL>

<?php foreach($users as $username=>$count): ?>
<LI><?= $username ?>(<?= $count ?>)</LI>
<?php endforeach; ?>

</UL>

If You install this php code on your Portal Server you would get the following output.


 

This successfully displays all users currently logged into the Portal server.

As you can see, inspecting php sessions is a very useful technique for finding Xinet Portal user information, and using this technique it is possible to provide enhanced user tracking functionality.

1 Comments Click here to read/write comments

New Video featues in Xinet v16

Posted by Brian Dolan on Fri, Jul 03, 2009 @ 07:29 AM
Share on Facebook Facebook | Submit to Digg digg it |  Add to delicious  delicious |  Submit to StumbleUpon StumbleUpon |  Share on LinkedIn LinkedIn |  Share On Technorati Technorati | Submit to Reddit reddit 

As the Holiday weekend starts up for us all, lets close the week out and chat a bit about all the cool things that are coming to the masses soon.  Xinet is going to be releasing version 16 of it’s suite of tools including a new, faster version of Portal, a unified web interface for all administration, easier tools and setup for PDF Image replacement, greatly enhanced video capabilities, basic web based markup and annotation tools and a whole bunch of other “under the hood” improvements.  Currently, NAPC is testing beta 2 of version 16 and we’re all pretty impressed with it so far.  One of the biggest features I’m excited about is the enhanced video features.  Let me esplain (as Ricky would say).


Xinet, in the new soon to be released version of video in Suite 16, has greatly enhanced how users in Portal interact with video assets.  In the current release of Video 2.0 in Xinet, it is possible to stream many video formats, create keyframes at a preset interval, and really, thats about it.  With the new version, you’ll be able to do much, much more.  First and foremost, the ability to create what I would call mini-reels, is now available as a basket plugin in Portal.  This is how it works:


1)    User logs in to a Portal site and identifies the files they want to work with.  Those files could be video files of various formats, InDesign files, static picture files, just about anything you can have in Xinet.
2)    The user would then add those files to a shopping basket.
3)    Once in the basket, the user would click the basket plugin named “Video Generation”
4)    This brings up a new Web 2.0 type of interface to arrange the assets into whatever order makes sense to the end user.  Asset arrangement is made simple by using drag and drop in a web browser-me likey!
5)    Once in the correct order, the user can set the ‘in and out’ times of the files based on keyframes generated by Xinet or by hours:minutes:seconds.
6)    The user can also set basic fade outs from clip to clip as well.  Gives it a nice touch!
7)    Once the files are arranged in the correct order and the in/out times are set, a new video file can be generated from those assets in either a Quicktime, Windows Media, or Flash format.
8)    The server then generates the appropriate file on the Xinet file system and once done, it gives the end user the ability to download the file to their desktop.

Here's a peek of what it'll look like:

 

This is huge everyone.  Think of it this way, if you have 30 second spots for a client for all of 2008, and they want to create a quick reel of all the ones that won awards (that you made of course!), they can quickly log in to Xinet via Portal, collect the assets, set the times and format and let Xinet make the file for them.  To be clear, this is not intended for broadcast but more for the web or computer screen aka small screen.  I think this is a huge leap forward for Xinet and since I used to work in the broadcast world, it’s pretty exciting for me as you might be able to tell!

On top of that, screen detection for keyframing is also part of the new release.  The current version can be set to sample a keyframe at a set interval say every 5 seconds or so regardless of scene change or not.  That can potentially add a bunch of useless keyframes into your database.  With the new scene detection functionality, you can set the admin preferences so it is “smart” and only creates keyframes when a scene actually changes with tolerance controls.  So, instead of keyframing a movie that is 1 minute long and getting 12 keyframes (when sampled every 5 seconds), you may only get 7 or 8 frames stored in the database. This can be very helpful!

Overall, we have a lot to look forward to with the upcoming release of version 16 of Xinet’s Suite of tools.

Enjoy the weekend all and as always, if you have any questions on any of this information, please give us a ring and we’ll be happy to help!  Want to see this new functionality for yourself???  Give your Account Manager a call and we’ll be happy to show you all the new stuff.

Happy 4th of July!

Brian Dolan

0 Comments Click here to read/write comments

Exploring Portal Template Variable Arrays

Posted by Sean Kenny on Mon, Jun 29, 2009 @ 10:44 AM
Share on Facebook Facebook | Submit to Digg digg it |  Add to delicious  delicious |  Submit to StumbleUpon StumbleUpon |  Share on LinkedIn LinkedIn |  Share On Technorati Technorati | Submit to Reddit reddit 

Portal has a variety of template variable arrays that contain the data used by the HTML template pages for display. When making custom Portal sites it becomes a common need to investigate the data found in these arrays via a PHP print_r statement like the following.

<?php
print "<pre>";
#print_r($_SERVER);
#print_r($_SESSION);
#print_r($volume_info);
#print_r($dir_info);
#print_r($file_info);
#print_r($files_info);
#print_r($keywords_info);
#print_r($tmpl->variables['PORTALPAGE']);
#print_r($links_info);
#print_r($spreads_info);
print "</pre>";
?>

Through using this approach it becomes possible to display Portal’s template variables arrays directly in a web browser, which can be convenient for inspection and debugging. This article expands on alternatives and twists to this standard approach.

Alternative variable display functions

When exploring a variable's contents in PHP var_dump() and var_export() are common alternatives to the print_r() function. Each performs a similar task with a slightly different behavior. var_dump() prints slightly more informative (but less readable) information about the given variable’s data, while var_export() prints interpretable PHP code. The following table illustrates the output differences for these functions.

print_r() var_dump() var_export()
Array
(
[0] => Apples
[1] => Oranges
[2] => Pears
)
array(3) {
[0]=>
string(6) "Apples"
[1]=>
string(7) "Oranges"
[2]=>
string(5) "Pears"
}
array (
0 => 'Apples',
1 => 'Oranges',
2 => 'Pears',
)

Depending on your needs, these standard functions give a good set of options for displaying Portal template variable data for inspection and debugging.

Storing Portal variable information in a variable and/or file

Sometimes it is not always ideal to send Portal’s template variable data to the web browser for inspection and debugging. To help alleviate this issue the print_r() and var_export() functions both accept a second Boolean parameter that, when set as true, causes both of these functions to return a variable’s data from the function call instead of printing it. This allows for capturing a variable’s data in another variable and/or file for later inspection and debugging. The following snippet is an example of such an approach.

<?php
$portal_page = print_r($tmpl->variables['PORTALPAGE'], true);
file_put_contents('/some/directory/var_data.log', $portal_page);
?>

The print_r() function is called with a second parameter set to true. This cause the print_r() function to return the $tmpl->variables['PORTALPAGE’] variable information to the $portal_page variable instead of printing it. The contents of the $portal_page variable are then written to an external log file. This data could then be viewed, searched, and stored at another point in time.

Storing variable information as XML

Using PHP it is also possible to store the portal variable information in your own XML format. This XML data could then be transmitted and interpreted by any type of program geared to help inspection and debugging of Portal’s template variable arrays. The following code example could be placed inside of any one of your site’s local.inc.php files. This code snippet checks known Portal template variables arrays, and inserts their data into a hierarchical XML data structure. This file is then saved as XML on the server in the same directory as the file being executed.

<?php

$var_trees = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";

//start the xml var trees hierarchical data structure
$var_trees .= "<var_trees>";

//check the known portal variables. If they exist generate an xml tree of the data
if ($volume_info != NULL) $var_trees .= var_tree('$volume_info', $volume_info);
if ($file_info != NULL) $var_trees .= var_tree('$file_info', $file_info);
if ($files_info != NULL) $var_trees .= var_tree('$files_info', $files_info);
if ($keywords_info != NULL) $var_trees .= var_tree('$keywords_info', $keywords_info);
if ($tmpl->variables['PORTALPAGE'] != NULL) $var_trees .=
var_tree('$tmpl->variables[\'PORTALPAGE\']', $tmpl->variables['PORTALPAGE']);
if ($links_info != NULL) $var_trees .= var_tree('$links_info', $links_info);
if ($spreads_info != NULL) $var_trees .= var_tree('$spreads_info', $spreads_info);
if ($_SERVER != NULL) $var_trees .= var_tree('$_SERVER', $_SERVER);
if ($_SESSION != NULL) $var_trees .= var_tree('$_SESSION', $_SESSION);

//close the xml var_tree hierarchical data structure
$var_trees .= "</var_trees>";

//store the xml data in an external xml file
file_put_contents(dirname(__FILE__).'/var_trees.xml', $var_trees);

//recursive function to generate nested xml data structure for a given variables data
function var_tree($key, $value){
$var_tree = "";
if(is_array($value)){
$var_tree .= "<var_tree label=\"".htmlentities($key)."\" >";
foreach($value as $key => $val){
$var_tree .= var_tree($key, $val);
}
$var_tree .= "</var_tree>";
}else{
$var_tree .= "<var_node label=\"".htmlentities($key)."\" value=\"".htmlentities($value)."\" />";
}
return $var_tree;
}
Creating a variable inspection and debugging tool using XML data

Taking this one step further, you can then utilize this developed XML format to create more advanced debugging tools. One quick example for this is a small Flex application that I quickly developed to interpret the previous example’s generated XML data. This debugger interface is automatically opened in a separate window when any portal template page embeds the {varviewer} template tag, which can be generated in your site’s local.inc.php file using a code snippet similar to the following.

$tmpl->variables['PORTALPAGE']['varviewer'] = 
"<SCRIPT TYPE='text/javascript'>winRef ="+
"window.open( '/VarViewer/templates/varviewer/PortalVariableViewer.html', 'varviewer',"+
"'height=450, width=750'); </SCRIPT>";

View the demo of this application HERE (user: blogdemo/pass: blogdemo). This XML variable debugger application has also been packaged as a House portal site named VarViewer that you can use and experiment with on your own portal server. You can download it HERE. This is a simple example, but illustrates the possibility of developing a more advanced and searchable Portal template variable arrays debugger.

Conclusion

There are a variety of ways to inspect and debug the Portal template variables. Using PHP’s built in variable display functions, and even custom data XML formats allows for a greater degree of flexibility when working with them. In the end these variables are an important to understand when trying to modify and extend Portal’s appearance and functionality, and using these techniques may help you during this learning process.

1 Comments Click here to read/write comments

Find Similar

Posted by Grant Mongardi on Tue, May 12, 2009 @ 04:21 PM
Share on Facebook Facebook | Submit to Digg digg it |  Add to delicious  delicious |  Submit to StumbleUpon StumbleUpon |  Share on LinkedIn LinkedIn |  Share On Technorati Technorati | Submit to Reddit reddit 
Presently, Xinet and many other DAM systems offer reasonably
elaborate ways of finding images based upon both user-supplied
metadata, as well as information provided by the applications
used to create the images. Much of this searching is reliant
upon some level of understanding and expertise by the end user.
This method of searching is generally only as good as the people
both adding the metadata, as well as the folks doing the search.
In other words, the search method itself is very dependent upon
people for it's accuracy.

That may change sometime in the future. Although I have no
expectations that searching user-applied metadata will ever go
away entirely, I do suspect that other options will be forth-
coming that will allow end-users to search based upon the
characteristics of an image. Most images have some sort of
general theme, be it either subject matter, layout, color or
texture. If you can determine these characteristics algorith-
mically, or some combinations of heuristic and algorithmic
techniques, then it would be possible to search initially on
metadata (or simple browse to a particular image to start with)
and then select a defined mechanism to find "similar images"
within some threshold to the reference image. Additionally,
there is also the capability that you can simply upload an
image from your desktop, either existing artwork, or just some
reasonable facsimile drawing that you produce, and let the
search engine find stuff that is similar!

There are already a few of these search engines out there. They
are in very early stages of development, so you can't really use
these as a definition of what's to come, but the results that
they produce are interesting to say the least. From the time
that I've spent looking at these, my suspicions are that most
are initially using a combination of information applied to the
images, either via information provided by the page that they
are placed within, or some sort of metadata/tags provided to
describe the images. From that point, the display of images
offers some mechanism to find images that have characteristics
similar to the reference image - some sort of "find similar"
link or button.

The benefit to this sort of search capability for the typical
DAM administrator is that although metadata searches with still
need to be available, designers will then be able to "find
similar" imagery based upon a texture, or color theme, or
content layout, or even some combination of those with perhaps
some specific metadata, such as "royalty-free". Given the fact
that most designers think and work visually, this will make
reuse of imagery much more productive, and will allow studios
to make the most of their asset library.

If you'd like to see some of these engines in action, or if you
are interested in learning more about the science behind them,
I've provided some links at the end of this article. However,
I wouldn't expect to see these anytime soon on your DAM server,
regardless of who makes it. The technology behind this sort of
searching is truly in it's infancy, and my expectation would be
that it will still need a lot of fine-tuning before we'll ever
see it in a commercial environment such as Xinet provides.
Although, one should note that the fact that Xinet's system
creates and stores previews of a large array of filetypes, this
then adds the capability for one to search across those preview
images rather than just the original image. That adds a layer
of capability that will allow the end-user to not just compare
actual original images, but to compare the previews of all of
the supported filetypes. That means you can find an InDesign,
Quark, or even Word document with similar characteristics to
what could be a reference PSD, or even Vector-based AI file.
Stay tuned, as the future of image similarity searching does
look bright!

Similarity search engines:
 http://www.airliners.net/search/
 http://similar-images.googlelabs.com/
 http://www.tiltomo.com/
 http://tineye.com/
 http://www.incogna.com/#random
 http://wang14.ist.psu.edu/cgi-bin/zwang/regionsearch_show.cgi

Academic Papers on Similarity Searching:
 http://infolab.stanford.edu/~wangz/project/imsearch/SIMPLIcity/TPAMI/
 http://www.cs.princeton.edu/cass/papers/LCL04.pdf

2 Comments Click here to read/write comments

Roll the presses - NAPC's blog begins.

Posted by Kenny Kirsch on Mon, Mar 16, 2009 @ 02:36 PM
Share on Facebook Facebook | Submit to Digg digg it |  Add to delicious  delicious |  Submit to StumbleUpon StumbleUpon |  Share on LinkedIn LinkedIn |  Share On Technorati Technorati | Submit to Reddit reddit 

Welcome to the first NAPC blog. We have selected several NAPC experts to contribute our technology perspectives; from what we like, what we don’t and a range of good technology stuff. When I say stuff, I mean it inthe best way possible. For instance – I might blog about Xinet’s new Asset Browser which was recently released with WebNative Portal 2.0.6. It is a cool new tool, a Xinet web browser that launches in InDesign and allows users to search, browse, drag and drop and run other workflows without leaving the InDesign application. Xinet WebNative Portal 2.0.6 also seems much faster, I have been tough on this product the past few years and I am pleased to see it heading in the right direction. We might also blog on what we think the next big thing is, how the industry is going green or a cool workflow that we saw one of our clients using. The goal is to keep you informed, in touch with the graphics industry from a service provider’s view. I encourage you to subscribe and comment on what we write. Good or bad feedback is vital to us – we want to be your technology partner. 

1 Comments Click here to read/write comments

All Posts