OK, so it’s technically a Solr Search (used by Community Server) and VMWare Server 2.0 conflict, but both start Apache Tomcat as a Windows Service. After a reboot, you’ll see one of the services hasn’t started, and Task Manager will only show one tomcat6.exe running.
The conflict occurs on Tomcat startup. The default Apache Tomcat config starts the service with a listener registered on port 8005. So, whichever service starts second on Windows startup fails to start with an “Address already in use” error in the Tomcat log.
In our case, the second service was Solr Search. It meant that after a reboot, searching would not work in our Community Server communities.
The fix was to change the port, as suggested in this post (thank you, Angie Tan and Google!). But in my case I wanted to alter the VMWare setting, not the Telligent/Solr setting.
So, go to your VMWare Server’s Tomacat config folder and find the server.xml file, in my case:
C:\Program Files (x86)\VMWare\VMWare Server\tomcat\conf\server.xml
And modify the line Server port tag to read something like this:
<Server port="8006" shutdown="SHUTDOWN">
Restart your services. If both services can run, go the whole hog and test a restart/recovery scenario with a full reboot, checking the Services panel and the Task Manager that everything started up OK.
At the encouragement of a couple of chums of mine, I jailbroke my iPhone 4 when the Jailbreakme.com hack first appeared for iOS 4.0.1. Here are some very brief thoughts on the matter after a couple of weeks of being jailbroken:
Update: I encountered a brief gotcha when unjailbreaking. See below.
Telligent’s email templating is very powerful, but leaves a lot to be desired on the documentation front. It also appears to have an annoying bug, which of course we ran into headfirst. You see, we wanted to include the user’s avatar image in notification emails that our community sends out.
Sadly, the token you’re supposed to use for this, $User.AvatarUrl, is worthless; it returns a URL that begins with a “~”. This might be useful if there were an email template function to handle “~”s in URLs (it refers to the root of the site) but there’s nothing to say there is, and nothing to document how you might process the result with a custom function. In .Net there are helper functions Telligent provide that fix this, but not in the email template language.
I left this post on the Telligent forums, in which I point out that using that token you end up with a URL that looks like:
~/blahblah.aspx
And that using the function $global.FullPath() on the token, you end up with:
http://geeknixta.com~/blahblah.aspx
Which of course DNS doesn’t know how to handle, and nor does the browser…