|
|
I’ve never been a heavy Outlook user (I only recently stopped using Pine), but I was really surprised by how lost Outlook users become when you take them out of their element. Instead of adapting and finding new (and better) workflows, they insist on trying to force Google Apps to work like Outlook. Here is what you can expect die hard Outlook users to complain about when you ask them to switch to the web-based Google Mail. More users are switching all the time, so expect this list to grow…
Folders, sub folders, and sub sub sub sub folders
Outlook users don’t get the concept of labels, nor do they like to use the Search feature. They want 9 levels of nested folders even if those folders may only contain a single message. Stop the riot with Folders 4 G-Mail – of course, then you have to wean them off Internet Explorer, which is a whole different battle.
Capture the flag
Star? Star? We don’t need no stinkin’ star? A Star simply won’t do! Where are my flags? I must have red, blue, yellow, green, orange, and purple!
This is of High Importance:Â I’ve requested a read receipt.
Outlook users assume that everyone in the world uses Outlook, and that recipients actually drop everything and leap into action when they receive a message marked with “high importance”. “If I don’t request a read receipt, how will I know my message has been read?”.  In the real world, read receipts aren’t supported in many mail systems, and most high importance messages are flagged as spam or actively ignored by the recipient. Google probably doesn’t support these features because they, like the rest of us, have recognized they’re useless!
If a message is important and requires a response, use compelling subject lines and message content to get action from the recipient. Instead of using “Re: Something Boring” as a subject line, use “Re: Something – Response Required by Friday”.
Send email messages as attachments in other emails that have e-mails as attachments.
This reminds me of pointing two mirrors at one another, or wrapping a present that’s a box within a box within a box. Isn’t this what the Forward feature is for? Ever heard of cut-and-paste?
Create events and tasks from mail messages
This one really surprised me. I didn’t know Outlook could do this, but apparently if you drag an e-mail message onto the Calendar it creates an event with the content of the e-mail pasted in the details box. Pretty cool, but GMail can do it even better. When viewing a message in GMail, click More actions -> Create Event. Google will parse the message and use dates and times within the body to create a calendar event.
It’s also possible to associate Google Tasks with e-mail messages. When viewing the message, click More Actions -> Add to Tasks. The task will then contain a link back to the e-mail message.
HTML Signatures
Wow. Who knew that business would grind to a halt without the ability to attach a picture or crappy fonts to an e-mail signature. Granted, the ability to include a link to your website is a nice feature. Thankfully there’s the Blank Canvas plug-in, because without it, the world as we know it would end.
Send To / Send as E-Mail
Because GMail is web based, it can’t act as the default mail client to attach documents to e-mails automatically. Without Outlook installed, how ever are you going to e-mail that document? Well, if creating a new message and clicking “Attach a file” is too much for you, you can always install Affixa. Then, using the send-as-email feature will trigger Affixa to create a new draft message in GMail with the document attached. Fill in the To, Subject, and Message, and then Send.
This method uses built-in system features and free software to make local and rotating offsite backups of SQL server databases.
Rsync Server – Openfiler
Backups are stored on an Rsync server. Openfiler is a NAS with web-configurable rsync support. To change permissions or settings of the rsync module, see Openfiler -> Shares -> backup_data. Database backups are put in a subfolder called ‘databases’. The ‘nobody’ user must have access to this folder, since that is the username the rsync client will use.
Backup rotation is achieved using Openfiler’s logrotate. Backup rotation (frequency, number of days, etc.) is configured in /etc/logrotate.d/db-rsync. Currently, backups are rotated daily for 7 days. Compression is enabled to save space.
Database Server
First, a backup script is created for each database:
- Create a directory to store local backups and scripts (eg. C:\Backup and C:\Backup\bin)
- Use SQL Server Management Studio to login to the database server
- Select the database to backup, then Right Click -> Tasks -> Backup.
- Set Backup type to Full
- Change the Backup destination to C:\Backup, and give the filename a ‘bak’ extension
- Click Script -> Script Action to File and save the script in the C:\Backup\bin directory with an ‘sql’ extension
Next, install cwRsync. Download and save db-backup.bat in C:\Backup\bin and modify it as required:
- change the sqlcmd lines to match your server and database.
- CWRSYNCHOME is set for 64-bit OS. Use %PROGRAMFILES%\CWRSYNC on 32-bit.
- change the rync line to match the local backup location (C:\Backup) and the rsync module
Add a scheduled task to execute the batch file once a day. The rsync server rotates files at 4:02 AM, so run the batch file anytime after that (eg. 5:00 AM). Once the script is complete, the database will be backed up on the database server and the rsync server, where backups as old as a week can be retrieved if necessary.
If the backup file is quite large it can be compressed on the database server prior to running rsync. Install gzip for Windows and add the following to the batch file:
gzip -q -9 –rsyncable -S .gz C:\Backup\<database.bak>
then add <database.bak.gz> to /etc/logrotate.d/db-rsync.
Some notes on setting up an Alfresco Community 3.2 server.
Resources
These resources will be referred to as (Rn) later in this document:
- Alfresco Community Edition File Downloads
- Installing and Configuring Alfresco ECM Community Edition 3.2r2 (pdf)
- Installing Labs3 on Linux from the command line (has some useful tips but is for an older version of Alfresco
- File Server Subsystem
- Authentication Subsystem
- Alfresco Integration with Active Directory
The alfreso wiki is a useful resource but contains a lot of documentation not relevant to all versions.
Environment
Alfresco is setup in a VMWare virtual machine running Ubuntu with bridged network mode. Ubuntu 9.10 no longer has alfresco-community in it’s repository. It is still possible to install Alfresco on Ubuntu 9.10 using the all-in-one binary install. Using 9.04, simply do an ‘apt-get install alfresco-community’ (once Canonical’s partner repository is added to /etc/apt/sources.list). This version does not come with Sharepoint or CIFS support enabled by default. Some other basic setup:
- change hostname and update DNS. Alfresco uses the hostname to generate links to CIFS shares, etc.
Client Setup: Firefox
Documents downloaded and opened using Firefox are marked read-only by default. To bypass this feature, browse to about:config, then add the setting browser.helperApps.deleteTempFileOnExit = false.
Client Setup: Internet Explorer
To allow documents to be writable when opened, modify the registry key:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\Internet\OpenDocumentsReadWriteWhileBrowsing = 1
Modify the version number (12.0) to suite the version of Office (2007).
Client Setup: OpenOffice
A plugin needs to be installed in OpenOffice to enable integration with Alfresco. To install openoffice plugins, first install an openoffice/java package (who’s name I can’t remember – google the error message to find the package name). It seems that Sun and Alfresco both have their own plugins, and I don’t currently know which one works with what version of Alfresco. I really wish Alfresco would do a better job of matching their documentation to their releases.
Sharepoint
Sharepoint allows M$ users access to Alfresco Share ‘sites’ – documents, tasks, links, etc. – directly from within Word, Excel, and PowerPoint.
How to enable:
- Shutdown Alfresco (/etc/init.d/tomcat6 stop)
- Download vti-module.amp file (R1)
- Download alfresco-mmt-3.2r2.jar (R1), the Module Management Tool
- Run: sudo java -jar alfresco-mmt-3.2r2.jar install vti-module.amp /usr/share/tomcat6/webapps/alfresco.war
- Update /usr/share/tomcat6/shared/classes/alfresco-global.properties with the vti properties described on pg. 34 of (R2)
- Start Alfresco (/etc/init.d/tomcat6 start)
How to use (client config):
- Modify Registry Key according to KB 870853 (see also R2, pg. 28)
- Windows clients: Add URL for the site (http://<serverName>) to Internet Explorer Trusted Sites
- Open M$ Word
- Click Tools -> Shared Workspace
- Enter a name for the ‘site’
- Enter the URL for the site: http://<serverName>:7070/alfresco
SMB/CIFS
Why this is so difficult is beyond me (what’s wrong with standard ports?), but these instructions demonstrate how to enable SMB sharing.
Assuming the netbios name is ALFRESCO, browsing to \\ALFRESCO should work if everything is setup correctly. In the web client, links will appear with the letter ‘A’ appended (ie. ALFRESCOA). This is required on Windows machines, but from what I can tell, Alfresco on Ubuntu will always use the hostname as the netbios name, regardless of the cifs.serverName setting.
To fix this, edit /var/lib/tomcat6/webapps/alfresco/WEB-INF/classes/alfresco/file-servers.xml and remove the extra A from the name attribute in the <host> element.
Active Directory
Join the domain to allow the Alfresco machine to query AD:
- update smb.conf to include workgroup, security=domain, and realm
- join domain (net ads join -W domain -U user)
- add the following to alfresco-global.properties:
# Enable Active Directory
authentication.chain=alfrescoNtlm1:alfrescoNtlm,passthru1:passthru
ntlm.authentication.sso.enabled=false
passthru.authentication.useLocalServer=false
passthru.authentication.domain=YOURDOMAIN
passthru.authentication.server=
passthru.authentication.guestAccess=false
passthru.authentication.defaultAdministratorUserNames=Someone
passthru.authentication.connectTimeout=5000
passthru.authentication.offlineCheckInterval=300
passthru.authentication.protocolOrder=TCPIP
passthru.authentication.authenticateCIFS=true
passthru.authentication.authenticateFTP=true
- this setup allows Alfresco built-in authentication *and* Active Directory
- restart Alfresco (tomcat6) and login without using the domain name (ie. user, not domain\user)
Port 80
There are several approaches to running Alfresco on a different port, from modifying a lot of config files to installing Apache with mod_jk, the tomcat connector. My approach is to create a second endpoint in /etc/tomcat6/server.xml. Find the <connector /> element, make a copy of it, and change the port attribute of the new <connector /> element to the port you want to use.
Users can then omit the port number when accessing the site, and the internal guts of Alfresco can still use port 8080 as needed. This method is not fully tested, but so far so good.
While there are tools like Baobab that help analyze disk usage by file size, it’s not as simple to analyze disk usage by file type. Here’s how to do it using GNU tools ‘du’, ‘gawk’, and OpenOffice.
Create File List
This command will generate a list of files, sizes, and types for the current directory and all sub directories:
du -a –time | gawk ‘BEGIN {FS=”\t”}{where = match($0, /\.([^\.\/]+)$/)
if (where !=0)
print $0 “\t” tolower(substr($0, where+1))
else
print $0
‘ > filelist.csv
Alternatively, create a gawk script (eg. disk.awk):
BEGIN {FS=”\t”}{where = match($0, /\.([^\.\/]+)$/)
if (where !=0)
print $0 “\t” tolower(substr($0, where+1))
else
print $0
Then execute it as:
du -a –time | gawk -f disk.awk > filelist.csv
The resulting file is a tab separated list (size in kb, date, path, extension) that can be imported into OpenOffice. The script feeds the output of the disk usage utility (du) into an awk (gawk) script, which reads the file extension and outputs an additional case insensitive column for the file type. The regular expression reads:
Search each line looking for a period, followed by 1 or more characters that aren’t periods, followed by the line end.
Since files can contain more than one period, the [^\.]+ ensures that only the last period is considered as the start of the file’s extension. Awk then strips the period from the extension, converts it to lower case, and prints it out in a new tab-delimited column. The script isn’t perfect and will no doubt generate some file-type anomalies.
Manipulate the Data
Import the data into OpenOffice. The output file has a CSV (comma separated values) extension so it will show up in the OpenOffice filelist, even though the file is TSV (tab separated). Create headers for each column (Size, Date, Path, Type). The Path column can be deleted to speed things up if you don’t want to filter data by filename. Create a pivot table to display the number of files and the total size for each file type. Go to Data -> Data Pilot -> Create -> Current Selection.  Then:
- drag ‘Type’ into the Column Fields and ‘Size’ in the Data Fields.
- drag a second ‘Type’ in the Data Fields, then click Options and change the Function to Count
- expand the More button
- change the Results To to -new sheet-
- tick Ignore Empty Rows (important so that directory names are ignored)
- click OK
The resulting pivot table summarizes each file type (based on extension) by size and count. This data can be filtered or graphed depending on the analysis.
Graph the Data
 Disk Usage by File Type
A pie-chart similar to Baobab can be produced this way from the previous OpenOffice file:
- Insert -> Chart. Select a type of chart (3D Pie)
- Data range – highlight the pivot table
- Select “Data series in rows”
- Select “First row as label”
- Data range name – set to the row containing the names of the file extensions / types
- Y-Values – set to the row containing the sum size
Once the chart is drawn, resize it so both the chart and the legend are visible. Hovering over any pie slice will show a tooltip that indicates the total size and file type.
This script may save your a$$ somday if you need to restore LVMs from one Openfiler box to another. It scans logical volumes and volume groups, then re-writes Openfiler’s volumes.xml and updates /etc/fstab.
remake_vol_info
|
|