Monday, November 19, 2007

echo[Ability] 2.0.1.2 alpha

After an arduous weekend of WordPress hacking by Kelani with support of the moral and technical variety provided by yours truly, the new and improved Echo[Ability] has been rolled out.

It is still a work in progress so expect quite a bit of change over the course of the next few weeks.

It is meant to serve not only as a point of contact and representation of our work and philosophy but also as an eventual jumping off point and resource for the like minded, interested in learning more about the technology and tools with which we are working.

For the weekend play-by-play and a good starting point for hacking together your own custom wordpress theme check out this post by Kelani: Building a Wordpress Theme

Friday, November 16, 2007

PANMA Web Tools Shootout

Last night I had the opportunity to attend and present at the PANMA Web Tools Shootout. PANMA stands for Philadelphia Area New Media Association. PANMA hosts networking and educational events, where we encourage the connections among our members, offer business opportunities and enjoy good times with friends. We are web designers, graphic artists, database developers, programmers, information architects, marketers and other professionals.

Topics presented on included:
Blogging
Johnny Bilotta – WordPress
Kelani Nichole - Blogger

Content Distribution & RSS feeds
Michael Klusek - feedburner
Howard Ross (me) - digg

Web Analytics & Reports
Johnny Bilotta - Mint
David Speers - googleAnalytics

Social Networking
Cheryl Anscombe - Facebook
Nick Floro - LinkedIn

Business Automation & Project Management
Geoff DiMasi - Basecamp
Nick Floro - Highrise

Video Sharing
Aaron Couch - YouTube
Rob Sandie - Viddler

Wiki knowledge collaboration
Juan Leon - mediaWiki
Alex Hillman - pbWiki


Photosharing
Aaron Couch - flickr
Johnny Bilotta - shutterfly

Webconferencing
Nick Floro – GoToMeeting
Nick Floro- Webex

Email marketing
Nick Floro – constant contact
Tim Dodd - emma

Bonus Category

Alex Hillman -- Twitter

The Event was fast paced and a ton of fun and all attendees received expert certification in these tools.



Wednesday, October 10, 2007

Notes on Forrestor Research IW vs ECM

Notes on Forrester Research:

For Enterprise Collaboration, Focus On Information Workplace Platforms, Not ECM Specialists

by Erica Driver

for Information & Knowledge Management Professionals

June 26, 2007

This article distinguishes between Information Workplace (IW) Platforms and Enterprise Content Management (ECM) Systems. It covers the similarities and differences and when and where each should be implemented. This article goes into detail about the offerings of the major vendors in the space.

While Both IW platforms and ECM Systems offer collaboration and productivity services ECM is trending towards more industry specificity allowing IW to offer more general, core services. These core services include messaging, team collaboration such as on documents and social computing tools like blogs, wikis, and tagging. It has not yet been fully determined which services should be included in IW and which should be specific to specialized collaboration applications. Examples of Specialized collaboration applications include drug approval process facilitators and collaborative software development tools.

Of particular interest for our team are the comments about Microsoft including:

• Microsoft is a leading collaboration platform vendor.
• Microsoft offers the core collaboration platform pieces: messaging, team collaboration, real-time collaboration and communication, and some basic Social Computing tools.“

The major recommendation of the paper is to implement IW and look for ECM providers for process specific collaboration needs that provide integration points and synergies with IW.

Monday, October 8, 2007

Forrester SharePoint Research Notes

Notes on Microsoft’s 2007 Enterprise Content Management Platform
By Kyle Mcnabb

MOSS provides a single environment for collaborative document management, Web content management, records management, workflow, and eForms support

MOSS now supports defining content based on its type — such as contract, deal, article, or customer presentation which facilitates more discrete management

Document Management supports Check and Check out (standard and enterprise?)

MOSS now includes serial and parallel document review and approval workflow support.

Administrators can create new workflows using Office SharePoint Designer 2007, and developers can use Visual Studio 2005 Extension for Windows Workflow Foundation to create new workflows.

MOSS integrates with Microsoft Office 2007 client applications such as Outlook and Word. Document libraries can be natively accessed through the Outlook client. Employees can subscribe to document libraries, and they can get notified of changes to documents via RSS feeds and email alerts through Outlook. Furthermore, SharePoint documents and folders connected to Outlook can be synchronized with local desktops for offline access and editing

Per user price points for basic document management have hovered between $50 and $100 for the past 18 months. Moss offers basic document management abilities plus a host of additional features at that cost.


Troubles with MOSS stated in this document are not of much concern for us:

  • No federated policy management support across SharePoint libraries.
    • Not an issue now, nor a requested feature
  • MS forces customers to migrate, not simply upgrade, existing implementations.
    • MOSS 2007 implementation should work for us for years to come
  • No digital asset management support(such as video).
    • Teams dealing with this have their own systems in place
  • Some value-added capabilities are only available with full Office upgrade.
    • We intend to upgrade
  • Very little support for transactional content processes. Lack robust Business Process Management (BPM) support
    • Could be enhanced with supporting products

Wednesday, September 26, 2007

How many people are on your server right now?

To view how many users are currently connected to your Windows Web Server you can use the M$ Performance Monitor.

Run perfmon.
Right Click in the counter table and select 'Add Counters...'
Change Performance object to Web Service
Change counter to Current Connections.

You should now be able to see the number of users currently connected to your webserver. Save this Configuration by doing a save as.

Wednesday, September 12, 2007

How to force users to print using Spry

You can't actually force users to print but you can have the browser's print dialog displayed using a simple, properly placed JavaScript command. The JavaScript I'm referencing is "window.print()", which could be launched on submit if it weren't for the form validation which it will conflict with.

If you are using the Spry Framework to assist with form validation you can place the window.print() command in the Spry JavaScript file such as, SpryValidationSelect.js in the Spry.Widget.ValidationSelect.prototype.validate function immediately before the return true. This will cause the print dialog to display only if the input passes validation.

Thursday, August 23, 2007

Simple ASP contact form processor

If you have a contact form like this:

First Name

Last Name

Address

City

State

ZIP Code

Age

Your Question Is?

Email Address

Phone Number



you could use a simple ASP script this to send the submissions via email:
<%
dim emailFrom, emailTo, emailSubject, emailBody
dim objMail, iConf
emailFrom = Request.Form("emailAddress")
emailTo = "hross@jmsonline.com"
emailSubject = "JMS Website: Contact Form Submission"
emailBody = "The following information was submitted from the JMS online contact form:" & vbcrlf &vbcrlf
emailBody = emailBody & "First Name: " & (Request.Form("firstName")) &vbcrlf
emailBody = emailBody & "Last Name: " & (Request.Form("lastName")) &vbcrlf
emailBody = emailBody & "Address: " & (Request.Form("address")) &vbcrlf
emailBody = emailBody & "City: " & (Request.Form("city")) &vbcrlf
emailBody = emailBody & "State: " & (Request.Form("state")) &vbcrlf
emailBody = emailBody & "Zip: " & (Request.Form("zip")) &vbcrlf
emailBody = emailBody & "Age: " & (Request.Form("age")) &vbcrlf &vbcrlf
emailBody = emailBody & "Question: " & (Request.Form("question")) &vbcrlf
emailBody = emailBody & "Email Address: " & (Request.Form("emailAddress")) &vbcrlf
emailBody = emailBody & "Phone: " & (Request.Form("p1")) & Request.Form("p2") & Request.Form("p3") &vbcrlf &vbcrlf
emailBody = emailBody & vbcrlf
set objMail = server.CreateObject("CDO.Message")
set iConf = CreateObject("CDO.Configuration")
With iConf.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 ' CdoSendUsingPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Application("EmailServer")
.Update
End With
objMail.From = emailFrom
objMail.To = emailTo
objMail.Subject = emailSubject
objMail.TextBody = EmailBody
objMail.send
Set objMail = Nothing
%>

Monday, August 20, 2007

Easiest way to hack a Windows admin password

Say your pc becomes disconnected from your network and there by your domain where your user accounts are controlled or someone dies it may be necessary to hack a windows Administrator password.

While the Offline NT Password & Registry Editor, Bootdisk / CD seemed like easiest method for resetting windows passwords I had trouble with it and had to find an alternate method.

This alternate method consisted of booting up the machine with Linux distro Knoppix, and copying the system32/config directory which contains the SAM file onto a usb flash drive. The SAM file is the Security Accounts Manager Windows uses to store password "hashes" which amounts to essentially encrypted passwords.

I then copied the necessary files to another windows machine on which I had installed SAMinside. SAMinside was instantly able to tell me all the user names for the locked box and offered the ability to do a brute force / dictionary hybrid attack that tried over 4 million passwords a second. Luckily, the password i was trying to crack was a simple 6 letter dictionary word so it only took about an hour.

Thursday, August 9, 2007

Intro to Windows SharePoint Services (WSS) 3.0

Yesterday I installed the .NET framework, WSS 3.0, the SharePoint Application Template Core and a pre-built application template for a Document Library and Review which included threaded discussion. Out of the box, the whole thing ties into our user accounts so all our actions are linked to our usernames as we move through the app. There are many pre-built app templates available on Microsoft's TechNet

Despite being a M$ product, WSS seems like an excellent, full-featured web app framework. Installation was slightly more complex than normal for M$ products, involving uncompressing files and utilizing the ol' command line, but a cinch coming from a Linux background.

Tuesday, July 31, 2007

Custom Picassa Photo Gallery Application

After experimenting with several of the leading photo editing/organizing tools including offerings from apple(iPhoto) and Adobe(Photoshop, Dreamweaver, and Fireworks), I have decided to use Picassa2 for our online photo gallery needs. Besides the interface being excellent, I chose Picasssa2 becuase of how easy it was to create a custom photo gallery templates based on one of the standard templates.

To create your own Picassa2 Template first go into your Program Files/Picassa/web/templates folder and make a copy of one you would like to base your template off. Then change the first line of the index.tpl in order to give your template its own version number, name and description. You can then easily replace the Picassa Logo with any logo of your choice by simply saving your logo over in the assets folder. I added a little padding around my logo by modifing the css file in the assets folder. To the BODY i added "background-position: 10px 10px;". I also moved the photo caption below the photo for use as copyright by moving the <%itemCaption%> tag in targetlistelement.html . And that was about all it took to create a custom enterprise photo gallery.

Tuesday, July 17, 2007

snap footer to bottom of viewport

Previously, on our pages with short content the footer would not always appear at the bottom of the viewport (browser). I was able to fix this with a little css wizardry.

I do, however, feel that this functionality should be built into the standard and therefore the browser but thats the subject for another post.

I surrounded all non-footer content in a "page" div and the footer in a "footer" div here is the css:

.Page {
height: 80%;
position: relative;
}

div.Footer{
width:100%;
float:left;
height:174px;
margin-top:15px;
position: relative;
}


This seemed to do the trick despite the many more complex solutions posted around town.

Wednesday, July 11, 2007

Team Messaging

My team needs real time messaging capabilities. Sending a link or sharing a file should not require 7 clicks and several seconds as is the case with using Outlook for this purpose.

More Specifically, what we need is:
  • Chat /Conference room for my team to collaborate
  • Desktop application as opposed to running in the browser
  • Visual and audio notification of new messages
Seems so simple yet I am having trouble finding a tool to suit these needs. I have looked at the big 3 messangers: AOL, Windows, and Yahoo!

Aol seems geared towards children of myspace generation and Windows requires that we change our firewall settings so both of these are out of the question. That leaves us with Yahoo which is fine but far from perfect.

The Yahoo! Messenger sign up process does not include an instant screen name availability check which wouldn't be so bad if it wasn't for having to do a captcha for every taken screen name. A very interesting feature is the ability for the messenger to run in a strictly http request mode which allows it to bypass our corporate firewall.

Unfortunately, messages are taking around 7 seconds to get to my coworker sitting right next to me. Also, when in conference mode there is no new message notification.

Looks like I'm back to the drawing board. Maybe I'll just write an app myself. I mean this is simple messaging we are talking about; the most basic of internet functionality.

Friday, July 6, 2007

Project Management Software Investigation

Out of a dire need stemming from a growing team involved in more projects than I care to enumerate and a lack of what I consider to be essential collaboration tools, I have been investigating project management software. My initial reaction was "oh, i know, how about that much bzzzzzed about app from our innovative friends over at 37 signals...Basecamp.

I singed up for the free 1 project package, invited my team members, entered our Milestones for the next year and we were all set to start existing in the modern era of project collaboration . Thats when "Process Management" got involved and we are still, more than a month later, without an official project management tool.

Process Management suggested 2 tools:
Project Insight which is huge and bloated with reporting and charting features. Despite it being web based and having a collaborative aspect you'd probably be better off with yea ol standard MS Project

And ViewPath which I thought was alright and would probably do the trick but was a little lack luster and unrefined.

What I need most:
  • shared calendar
  • document repository which allows discussion
  • action item / todo lists
  • a tool that is not only easy but actually fun to use
What my boss needs:
  • time tracking
  • high level view of what his developers are doing
Basecamp provides all this is a beautifully arranged package which displays an innate understanding of the fact that what makes a successful project is a well communicating team.

Tuesday, June 26, 2007

Flash 101

When working on a single scene Flash Application such as Zoomify, you can easily insert a splash screen to display instructions or terms of use. This can be done by inserting a scene before the application scene and setting it as a keyframe. Then add you text and graphics to the scene stage including a button. Under actions for the frame add a single line of code containing stop() which will prevent the user from seeing the application contained in the second frame. Click on the button and add to the Actions

on (release) {
nextFrame();
}

There are excellent video tutorials available at the Adobe Design Center Video Workshop. IfBin Also provides high quality flash and flex examples including source code through an interesting downloadable browser based interface.

Friday, June 22, 2007

Zoomify based Flash app

I am in the process of creating a flash application based on customized Zoomify components. Zoomify makes high-quality images zoom-and-pan for fast, interactive viewing on the web. Just JPEGs, HTML, and Flash. This will allow us to make use of large scale imagery created for print purposes on the web.

Thursday, June 14, 2007

Google Webmaster Tools

I have been using Google Webmaster Tools to get comprehensive statistics and error information about the pages in my company's site. In addition, Google Webmaster Tools offer diagnostics and management of Google's crawling and indexing of your website, including Sitemap submission and reporting.

This type of tool helps with understanding what exactly is accessible through Google and how to optimize your site for Google and other search engines.

Tuesday, June 12, 2007

ColdFusion Flash Form

I have been working on a ColdFusion Flash Form. It is written in ColdFusion but outputs a swf which runs in the Flash Player. The result is Rich Form Application complete with tabbed navigation and all the other bells and whistles we've come to expect from Flash. Even Before I implemented a custom style sheet based on Nahuel's post on ASFusion the form was pretty but afterwards it really has that wow effect. I'm still struggling with decreasing the load time and getting the pre-loader to display progress accurately but I'm confident I'll work it out.

Friday, June 8, 2007

phpGoogleStoreLocator

I have implemented a significantly customized version of Ryan Coulombe's phpGoolgeStoreLocator. A stock demo of this application can be viewed here. My customizations include seamless integration into an already existing site template, removal of features unnecessary to my client, styling output with css, a few bug fixes and the all important removal of the "Powered by..." statement, which proved slightly more difficult than one would think due to the cryptic (133t) method of output Ryan chose to employ. More details of my implementation can be viewed in my posts to the CrystalDawn.net phpGoogleStoreLocator Forums.

Wednesday, May 16, 2007

SecureWorld Expo

Today I attended the SecureWorld Expo at the Valley Forge Convention Center. Other than that warm fuzzy feeling you get from receiving free swag and having sales reps chat you up, I got some excellent information about web server hacking and security. The highlight of the day was a session with Justin Peltier, a Senior Security Consultant with Peltier Associates, with over ten years of experience in firewall and security technologies. Using little more than freely available nmap, netcat and a proprietary security auditing tool he was able to infiltrate and own servers both windows and linix. This information will be invaluable in auditing and locking down my own servers as well as those of my employers and clients.