Showing posts with label work. Show all posts
Showing posts with label work. Show all posts

Friday, December 04, 2009

SharePoint? No, SwearPoint!

I’ve been working on a SharePoint project for work for the past few months, and I’m getting close to the “go-live” date.  Actually, it’ll go live whenever I’m “done” (whenever that will be…).

But that’s beside the point.

The point is that I’m becoming less and less impressed with SharePoint as a development platform.  And I didn’t start out with a great love for it in the first place.

Perhaps it’s because I’m constrained to only using SharePoint Designer.  No .NET code allowed on the site I’m working on.  That bums me out right there, since I consider myself a great .NET developer.

Most of my work has revolved around customizing SharePoint lists, and using SharePoint Designer to create custom workflows to support the operations of the team I’m developing this for.  Not necessarily hard, but the requirements have been challenging to implement, to put it nicely.

One main requirement, as it turns out, isn’t really possible to implement fully in SharePoint, at least in a nice way.  There are two groups of people who are responsible for different items (a.k.a. “fields” or “columns”) in a list.  One group, let’s call them “Group A”,  doesn’t want the other group (“Group B”) to be able to modify Group A’s fields.

Now let me stop right there!  I understand that SharePoint is a “collaboration” tool, so preventing users from collaborating just doesn’t jibe with the core of SharePoint.  That’s pretty much the crux of the problem.

If it were possible to set permissions on the field level, this blog entry would not be needed.  But it is not possible to restrict access to only certain fields in a list to a certain group of people, so I had to think of ways to enable this functionality, and the way I came up with is sub-par at best.

I ended up creating 3 lists: one for Group A, one for Group B, and one which shadows Group B’s list.  Then there are workflows which copy Group A’s fields in Group A’s list to Group B’s list, and Group B’s fields in Group B’s list to Group A’s list.  The “shadow copy” list is there to prevent the workflows from running in an infinite loop—the items are only copied back to Group A’s list if they are different between Group B’s list and the shadow copy list.

As it turns out, this is not without problems, since if someone in Group A modifies one of Group B’s fields in Group A’s list (did you follow that?) then it will remain out of sync with Group B’s list, since Group B’s fields aren’t copied from Group A’s list to Group B’s list.

As it turned out, thankfully, this wasn’t as big of an issue for this particular solution (whew!).

It was my intent to set permissions on the lists such that people in Group A only had read access to Group B’s list, and vice versa.  However, as it turns out, the workflows will fail to copy data since they run as the user who initiates the change to the list.  So when a Group A person changes an item in Group A’s list, the workflow tries to copy that change to Group B’s list but can’t because Group A only has read-only access to Group B’s list.

So I thought I could change the permission to allow Group A to edit Group B’s list, but then just set the “Hide from browsers” property on Group B’s list so that Group A couldn’t find it when browsing the site.  So instead of preventing a modification of Group B’s list through the use of SharePoint Permissions, I would be preventing the modification of Group B’s list by making it very hard to find the list.  Problem solved!

Not.

Once again SwearPoint, er, SharePoint worked against me, and here’s how:

If you set the “Hide from browsers” property on the list, it does, in fact, hide the list from site when you click on the “Lists” or “All Site Content” links in SharePoint.  HOWEVER, it also hides the list from workflows!

[UPDATE: The list’s name is the only thing hidden from the workflow.  The error I was seeing which led me to the previous conclusion was due to a user-error (and, no, I wasn’t the user!).  The workflow continues to operate successfully if the referenced list is hidden.]

So my final solution still has three lists, one for each group and a third to ensure that the workflows eventually stop, and each group can see the other group’s lists.  Not at all what I set out to accomplish!

It’ll just have to be a training issue to keep each group out of the other’s list.

So much for collaboration (at least in this project).

Wednesday, August 26, 2009

Silverlight Resume Project

I attended a Silverlight Firestarter event last Saturday at the local Microsoft office, and let me tell you: I'm pumped up about the possibilities.

Monday I went to work only to find out that they didn't need my services any more.

So today I'm going to try my hand at creating my resume, online, using Silverlight.  I'll post the progress as I go.

Wish me luck!

Wednesday, December 10, 2008

Working for Food Again

Just wanted to let you all know (yeah, like I have throngs of people reading my blog!) that I landed a job at a small company about 10 miles from home.  It's a short commute, but at least I don't have to travel on GA 400!

I've been there for a week-and-a-half, now, and it seems to be going fairly well, despite the heavy work load (they warned me about that before I said, "Yes", so I knew what I was getting into).

So don't worry about me.

Oh, and my severance pay from my last job has become the closest thing to a Christmas Bonus that I've ever had!

Happy Holidays!

Wednesday, November 12, 2008

Will Work For Food

I got laid off yesterday.  I suppose I'll just be another number in next month's unemployment statistics.  Actually, probably not, since I got a decent severance package that should last through the end of the year, and I don't think you can file for unemployment until after that runs out.

I'm planning on having another job before that happens!

In the meantime I've been reworking my resume, getting it ready to send out.  I've e-mailed several people to see if they know of any openings, either where they work or elsewhere.  I already have  a few leads, but no interviews lined up.  Should be an exciting few weeks while I discover what awaits me out there!

Wish me luck!

Monday, February 25, 2008

Moving Day!

No, we're not changing addresses.  However, I have officially moved into my new office in the basement as of Saturday!  There are still a few things that need tidying up--the main things being covers for all of the outlets and light switches.  But the office is in a state now where it can be used.

My thanks go out to my good friend Darren for his help (and his hand-truck) on Saturday moving the monster that is my desk.  THANKS DARREN!  My arms are still a little sore today (Monday--two days later!).

I also (finally) rearranged the new cable/phone modem and wireless router down in the utility room so that they are off the floor.  Eventually I'd like to get a nice enclosure to contain all the wiring endpoints--a patch panel of sorts--so that I can more easily configure which network outlets are active.  As for now, I still have a mess of cables in the utility room.  And I use the term "mess" in its technical definition.  :-)

Anyway, as a result of switching over to using the cable modem provided by Comcast (which came into our house after they decided to end their old phone service and we went with their Digital Voice phone service), I now have a spare cable modem.  Anyone out there want to buy a relatively new (~18 months old) Linksys cable modem?  I can provide a model number if you need it.  Make me an offer!

Thursday, August 23, 2007

"You Know You've Been Traveling too Long When..."

You know that you've been traveling too long when you no longer feel the same thrill with taking the shampoo, conditioner, and soap that the hotel gives you. I'm leaving it at the hotel this week! [Still in Winston-Salem, NC.]

Wednesday, December 20, 2006

Another Office Building Sign

The office building I work in isn't anything out of the ordinary. There's one thing I like about it, and that is the fact that the stairs are not locked. I'm working on the 6th floor, but some of the people I need to talk to during the course of the day work on the 5th floor. It is very easy for me (and usually faster, too) to take the stairs.

Have you ever wondered, though, what the singular form of "stairs" is? Well, here is the answer:

Yes, this is a sign indicating where the "stair" is. I don't use this stair, though. Instead, I use the stairs that go all the way from one floor to the next.

Monday, May 08, 2006

Seattle

I think I mentioned a while back that I was going to Redmond (near Seattle for those of you who are geographically impared) for some training. That was about a month and a half ago. The night before I flew back home I managed to get downtown to the Seattle Center--that's where the Space Needle is. I was there with a co-worker, and the plan was that we were going to eat dinner up there. But after looking at the menu (especially the prices) we decided not to. But I took this cool picture:

Friday, March 10, 2006

Redmond, WA

I just got confirmation this week that I will be attending a training class on the Microsoft campus in Redmond the week of April 3rd. That will be cool--I've never been to Redmond or anywhere in the Pacific Northwest, for that matter. I'm going to try to meet a couple of my friends who live out that way while I'm there. Plus, with my new camera phone (phone camera?) I'll be able to take some pictures and post them to the blog in near-real-time. I'm psyched! :-) By the way, on February 28th I thought to myself, "I should post something to the blog so I have at least one entry for the month." And then I got back to work and forgot all about it. So February 2006 will just be missing from this blog.