I had an issue were I started to publish reports via Crystal Reports Server 2008, but if I included the variable SI_VIEWER_URL so that a link to the report would be included, it always went to wrong host name, and not to the DNS Alias that I setup. Also, It kept referring to the “JAVA” openDocument viewer, and I am using the .NET version.
So in order to change it:
Log In to the CMC
Under Management Click “Applications”
Under the Applications View Right Click on CMC and Select “Processing Settings”
Then Finally Replace the URL that is in the Box, with whatever it is you need your URL to look like. Note the Extension change to ASPX from JSP because i’m running the .NET Viewer
Thats all there is. Now Next time you include the SI_VIEWER_URL variable, it should point to the URL you entered in the CMC Settings Above.
This is how to get the Transmission BT Client installed on the Javelin S4 Media Server NAS
- Install Trasmission (Ipkg Install Transmission)
- edit /root/.config/transmission-daemon/settings.json
- set “rpc-whitelist” from “127.0.0.1” to “”
- set “rpc-whitelist-enabled” from true to 0
- the call the daemon with /opt/bin/transmission-daemon -g /root/.config/transmission-daemon/
- now open your browser and connect to your your nas IP port 9091
There are other settings to be configured i’m sure, but for now i’m just happy with the Transmission Client working
Recently someone asked me how to reset the Administrator password on a Crystal Reports Servers 2008 installation without losing all the data. I’m going to share here the solution, just in case someone else is searching for the same thing.
In the Crystal Database, there is a table called “InfoObjects6”, maybe you have already heard of it in one of my previous post. In this table, the object with objectID = 12 is the Administrator account.
So, in order to reset the admin password, run this query:
Update CMS_InfoObjects6 set CRC = 0x WHERE (ObjectID = 12)
For those whom are curious what this really does. The CRC is the “hash” that verifies that the value of the “Properties” column has not been changed. By setting it to blank, it makes whatever password is stored under Properties Invalid. Next time you try to log in, a new “default” password hash will be created along with a new CRC.
Basically, it will set the Administrator password to blank, at which point you can log in and set it to whatever you want!!
Disclaimer: I am not responsible for any damage you may cause your device for doing this
Disclaimer: I am responsible for any AWESOMENESS that comes from your device for doing this
Every time I get a new toy, like any techie I have to see whats under the hood. And this time it was the Javelin S4 Media Server NAS by Patriot.
I bought this NAS to help solve my storage needs. I’m into photography, and currently I have 4 different External HD’s to store my photos. Problem is, they all get out of sync with each other, and there was no real easy way to maintain them all. My solution was to get a NAS that would support RAID and thus, thanks to a nice rebate from newegg I got the Javelin S4.
The *ONLY* problem I had found was that the S4 didn’t support SSH (like it was listed on Newegg.com’s website), and I wanted/needed to be able to SFTP/SSH.
I had 2 problems to overcome. First, gain access to the console on the NAS, second, add SSH to the device.
The solution to my first issue was found in the Patriot Memory Forums and a few posts by a user called “BadIntentions”
BadIntentions was kind enough to release a plugin called “Rooter” which allowed “root” access to the console via telnet port 2380, and also it included a new, enhanced version of busybox that he compiled for the device.
Once I was in, I started to look around the NAS and found that getting SSH on this thing wasn’t going to be easy. Most of the files in /etc are replaced every time the device gets rebooted, and the partition of the OS where all the utility scripts reside is set to read-only.
So I went about searching for a way to get SSH on this thing, and through my poking around the system I realized that the only way I was going to get SSH was going to be by creating a “plugin”.
Now the S4 is a little box, but it packs a nice punch
[nas]# cat /proc/cpuinfo
processor : 0
cpu : 460EX
clock : 800.000010MHz
revision : 24.170 (pvr 1302 18aa)
bogomips : 1600.00
timebase : 800000010
platform : PowerPC 44x Platform
model : amcc,canyonlands
Memory : 256 MB
so I wasn’t worried about ssh running, the only issue was, were to get it from.
I automatically thought about the optware project. These guys have been around for a while, and knowing the work that they have done with the NSLU2, and other NAS devices, I figured it was only a matter of finding the right “feed” (this is what they call the package repositories) that would work on the S4. Through some searching, I found that the Synology DS101G has a “similar” PowerPC processor, so I took the risk of giving the packages from the ds101g a try.
Created all the necessary folders and symlinks, placed all the binaries where they were expected, ran the ssh command, and voila, I now had SSH, and I was done (but not quite).
Now I could have called it a day, maybe try to create a plugin for SSH on the S4, but I though, why not get the whole IPKG system working on the S4. Really contribute to the community, plus with optware running on the S4, It would open up this device to way more binaries besides SSH, and make this a very powerful box.
So I went about taking apart the Optware Install Script for the DS101G also known as the DS101Bootstrap. Since there are two versions of the DS101, we specifically target the DS101*G* which has a powerpc processor.
The DS101Bootstrap script does the following in a nutshell:
- runs a bootstrap script that creates a temp ipkg install environment
- creates and mounts the /opt folder structure
- installs the necessary libraries for ipkg
- installs ipkg
- installs openssl
- installs wget-ssl
- sets up the environment so that on every reboot, the /opt folder gets mounted and all the other PATH and ld.so.conf variables get set
What I did, in order to get optware to install on the S4 is:
- Note: REQUIRED TO ALSO HAVE THE ROOTER PLUGIN BY BADINTENTIONS Installed
I created a plugin folder called Optware with a configuration file telling the system where to find the init script
- I took apart the bootstrap.sh script, the bootstrap.ipk, and the ipkg.sh temporary install script and modified them to work on the S4 (mostly Capitalization, and instead of mounting /VOLUME1, mounting my Plugin Directory)
- I ran the install process, which surprisingly ran pretty smoothly, except for a missing library that needed to be installed before wget-ssl, and also symlinking wget to the /bin directory, after fixing those two things, it finished without a problem
- After that was completed, I took the postintall.sh script from the bootstrap.ipk, modified it to fit the S4, and used that as a script to mount and initialize optware
After a reboot of the S4, my optware plugin’s init script gets called, /opt gets mounted, all the init.d scripts for optware run if needed (ssh being one of them) and the system works perfect
I can now SSH to my NAS via port 2222, and If I need to install any other packages, its as easy as “ipkg install <packagename>” (you must be root, so sudo su – if you login as “admin”)
The only thing left now if for me to package all this up into a nice .ppg that the S4 will recognize and automatically install via the webpanel. The day you want to get rid of optware, its as easy as deleting the plugin from the web panel as well.
As for what else is compatible with the S4, well, so far I’ve only tested the SSH package, the wakelan, openssl, and wget-ssl. I read somewhere that the bash package will brick your device, but that was referring to another device, so YMMV
The Link to the Optware Plugin for the Javelin S4:
Optware for Javelin S4 - Optware Installation Modified to work with the Javelin S4 NAS by Patriot Memory
The Link to the Rooter Plugin for the Javelin S4 (needed to install Optware): Rooter Plugin PPG (you must sign up for the forums to download)
If you Enjoy Optware, please consider donating to the guys at the NSLU2 Project (I am not affiliated with them, and I do not receive a “cut” from them, FYI)
None of this would have been possible without BadIntentions and his Rooter plugin
After you setup your Sharepoint, you later find that you have to add another service. (or you delete a service and recreate it)
In my case, I had to re-add the “User Profile Service Application”.
Turns out after I added it, the USPA was not part of the Default Application Proxy Group
(_admin/WebApplicationList.aspx -> Service Connections)
I found an article online by Amit Khanna Tittle “Associating services to Custom Application Proxy Groups in Sharepoint 2010”, which explained how to create a new group and associate a service, so I figured that would help me.
The one problem I found was that when I put in “default” as the proxy group name I got an error “Object not found”
It’s obviously an error with the Name or “Identity” of the ProxyGroup, and the command Get-SPServiceApplicationProxyGroup gives you the “friendly” name of the service, but not the real name. In order to get the real name you need to run this command “Get-SPServiceApplicationProxyGroup | Select Name,Id”Interestingly enough, you can see that the real name is “<blank>”.
It seems that in Sharepoint 2010 it is common for the Site Web Analytics reports and Site Collection Web Analytics reports to not show data. Many Folks over at the MS TechNet Forum seemed to think that it was an issue with Sharepoint, but it is really not. The real issue is that the Jobs that are supposed to collect the data for the Health Analyzer are disabled by default. So you must go in and enable them.
In the Admin Panel: http://mysharepointserver/_admin/ServiceJobDefinitions.aspx enable the following jobs (their default times are fine, so you can leave those as is)
Diagnostic Data Provider: Event Log
Diagnostic Data Provider: Performance Counters – Database Servers
Diagnostic Data Provider: Performance Counters – Web Front Ends
Microsoft SharePoint Foundation Usage Data Import
Microsoft SharePoint Foundation Usage Data Processing
There are other services that are disabled (Some SQL jobs and some trace job) which you can enable if you want, but for me, these were enough for what I needed
I needed to make bginfo, a great utility from our friends over at Microsoft (SysInternals) run for every user that logged in to a set of servers I had built.
My solution needed to be simple. Add a shortcut to the “All users” startup folder, but I couldn’t find it.
Turns out that it got moved and its hidden.
To find it, go to Folders, Advanced Settings, and Click on “Show Hidden Files” or just open a “Run Command” window and paste this path
There it is. Simple. Shortcut Created. Done.
Had an issue, when after authentica
Even though OWA worked fine internally, and an Internal version of the Access Gateway worked fine too.
Watching a network capture showed that it kept trying to use my local machine account, and since my desktop at home was not part of the domain, it kept failing using “MyDesktop\domainuser”
To Fix it, I switched from using SAMAccountName (me) to UserPrincipalName (firstname.lastname@example.org) in my “LDAP Authentication Server”, that way the domain was included with the login token, and passed on to OWA.
That was it, now OWA works internally and extenally!!
Had a very annoying issue when trying to add my exchange email address to my freshly re-installed/downgrade of Outlook 2010 to Outlook 2003 instance. Fortunate for me, the guys over at bayareapchelper.com the solution to my exact problem. Delete Mapisvc.inf.
I’m not going to go into details, rather, im going to send you to the bayareapchelper.com so you guys can see the full article and thank them for their hard work while you are at it
When it comes to exchange, I hate when my mailbox becomes slow. This is something that I’m sure we all deal with. Microsoft recommends that you keep 5000 items or less. I got tired of manually organizing my Inbox, so what I did was create a VBA Macro for Outlook, that goes through a folder you select and sorts items out by month.
First, I manually take all the emails for a certain year and put them in a folder
Then I run the macro
Once its done, the organize form will disappear, and if you go look at your folders, they will be organized from January to December (look at screen shot #3) and the corresponding messages moved to them.
Now, the code:
Create a new form, to mimic this one
Public GlobCancel As Boolean
Public Sub FolderOrganize()
GlobCancel = False
On Error Resume Next
Dim myOlApp As New Outlook.Application
Set objNS = myOlApp.GetNamespace("MAPI")
Set objFolder = objNS.PickFolder
If ((Not IsObject(objFolder)) Or (objFolder Is Nothing)) Then
MsgBox "You must pick a valid folder to organize"
Set colItems = objFolder.Items
objFolder.Folders.Add ("01 - January")
objFolder.Folders.Add ("02 - February")
objFolder.Folders.Add ("03 - March")
objFolder.Folders.Add ("04 - April")
objFolder.Folders.Add ("05 - May")
objFolder.Folders.Add ("06 - June")
objFolder.Folders.Add ("07 - July")
objFolder.Folders.Add ("08 - August")
objFolder.Folders.Add ("09 - September")
objFolder.Folders.Add ("10 - October")
objFolder.Folders.Add ("11 - November")
objFolder.Folders.Add ("12 - December")
Dim olObject As Object
Dim olMessage As Outlook.MailItem
Dim olMeeting As Outlook.MeetingItem
Dim olReport As Outlook.ReportItem
Dim intX As Integer
Dim varBigLoop As Boolean
varBigLoop = True
Result = MsgBox("You have a total of " & objFolder.Items.Count & " in the " & objFolder.Name & " Folder. Do you Wish to Organize the Folder? (This Operation will render your Outlook unavailable while it is working)", vbOKCancel, "Do you want to proceed?")
If Result = vbCancel Then
MsgBox "Folder Organize Cancelled"
cmdBegin.Enabled = False
cmdCancel.Visible = True
intStatCount = 0
intInitCount = objFolder.Items.Count
Do While varBigLoop = True
Set colItems = objFolder.Items
If (colItems.Count > 250) Then
intX = 250
intX = colItems.Count
varBigLoop = False 'stop comming back to the big loop
Do While intX >= 1
Select Case TypeName(colItems(intX))
Set olMessage = colItems(intX)
Set olReport = colItems(intX)
Set olMeeting = colItems(intX)
intX = intX - 1
intStatCount = intStatCount + 1
lblStatus.Caption = "Working on Message " & intStatCount & " of " & intInitCount
If (colItems.Count >= 1 And varBigLoop = False) Then
varBigLoop = True
ElseIf (GlobCancel = True) Then
'we have no choice, user wants to cancel
varBigLoop = False
'sleep for 1 seconds
Set objApp = Nothing
Set objNS = Nothing
Set objFolder = Nothing
cmdBegin.Enabled = True
cmdCancel.Visible = False
Private Sub cmdBegin_Click()
Function PauseForm(NumOfSeconds As Integer) As Boolean
Dim dStart As Date
dStart = Now
Loop Until DateAdd("s", NumOfSeconds, dStart)
That’s the entire Organize Script. You can use this code as is, or modify it to fit your own needs.