ExtJs is the new Marmite

I have now begun learning, experimenting and understanding the Sencha Ext Js JavaScript web development framework.

Understanding the bare bones of technology is paramount before creating real world applications. Ext Js is amazingly powerful but it remains amazingly complex too. While I am taking a step ladder approach to figuring out its Intricacies, I nearly pulled my hair out in despair and frustration while working with some simple examples. Thus it occurred to me.

Ext Js is the new Marmite

Some completely love it while others absolutely hate & loathe it.

I will be branching out to either (a) create a new blog focusing on Ext Js built with .Net Stack OR (b) create a new category here on asphive

software developer, What Not To Do

As I was working through developing a software, I got completely entangled in straightening out the initial requirements. Later, I got these wrong entirely. Reason? well, I jumped straight into developing UI (User Interface) instead of understanding the user and the way they work and behave as a business process.

Moral of The Story:

Never develop a software without understanding how intended end users work in the real-world with or without existing system(s) in place; and emphasize on translating both electronic and manual business process(es) into requirements.

Something, I shall learn to do from now on; is spend more hours on system requirements.

News of 2013

These days Willingness to Work and Enthusiasm doesn’t get you anywhere. I applied for a Software Developer position at Softwire and got rejected three times solely based on and I quote “non-top” university; as the HR at Softwire told me that they like to only put through people for interviews with exceptional academic background and top marks. Whatever happened to common sense?? In my second attempt, I explained to them my achievements despite being from “non-top” university and demonstrated my enthusiasm to work for them but all I got was a NO. Third attempt, re-tailored my covering letter, tried to explain more but NO.

I have been job hunting since last 5 months. After generating interest from several employers and recruitment agents, 1 interview rejection, and 15 rejections, 7 no responses; I have finally taken the next big move in my career ladder.

Sometimes you have to take a fall, to realize just what you can achieve.

 

Custom Properties in SharePoint 2010 Webparts

This post aims to provide a glimpse into how Custom Properties can be utilised on SharePoint 2010 Custom Webparts. Indubitably Custom Properties are great way to facilitate extra functionality and build dynamic custom webparts that respond uniquely based on the value assigned to the custom properties.

Pre-requisite: I have used Visual Studio 2010, Visual Web Part Template to demonstrate a simple example.

Begin by creating a simple property in the WebPart.VB/CS file (just above the CreateChildControls() method call).


' Declare Custom Property

Dim _Flag As Boolean = Nothing

<Category("Configuration"), Description("Configure the custom property"), WebBrowsable(True), Personalizable(True), WebDisplayName("Set Flag Value")> _

Public Property CustomProperty() As Boolean

Get

Return _Flag

End Get

Set(ByVal value As Boolean)

_Flag = value

End Set

End Property

Now change the code in CreateChildControls() method


Protected Overrides Sub CreateChildControls()

'Dim control As Control = Page.LoadControl(_ascxPath)

'Controls.Add(control)


Dim control As MyWebPartUserControl = DirectCast(Page.LoadControl(_ascxPath), MyWebPartUserControl)

control.CustomProperty = CustomProperty

Controls.Add(control)

End Sub

Finally, in the WebPart.ascx.VB/CS, add the same property


Public Property CustomProperty() As Boolean

Get

Return _Flag

End Get

Set(ByVal value As Boolean)

_Flag = value

End Set

End Property

That’s it. Deploy the webpart and whilst you edit setting of the webpart you can set the property value as and when required. Furthermore, you can add logic for webpart to behave differently based on the value of the property set. What’s interesting is that Webpart Manager uses in built personalisation so while the Webpart has True for a user it can have False for other user. Brilliant.

Return Select As Boolean

In this quick little post, I would like to document how to travers a SQL SELECT statement to return back a BIT/BOOLEAN. Suppose, you want to return true of false, based on a condition and your application can simply read this BIT/BOOLEAN and show appropriate view/response to end user.


SELECT [Account].Balance,

CAST(CASE

WHEN [Account].Balance - @Value > 0

THEN 1 ELSE 0

END AS Bit)

AS MoneyAvailable

FROM [dbo].[UserAccounts] [Account]

WHERE [Account].[UserId] = 13

The above statement will return a nice little one column ‘MoneyAvailable’ with a 1 or a 0 to denote if that account has available balance or not. Good stuff.

Integrating Project Server 2010 with SharePoint 2010

There is always a feeling of excitement, anticipation and trepidation when it comes to integrating technologies. In this article I am attempting to write comprehensively on integrating Microsoft Project Server 2010 and the almighty SharePoint 2010. Come to think of this partnership, it is inevitable, since as at the heart of SharePoint is collaboration and people working together.

This article delves into configuration of Project Server 2010 and what to expect.

1. Preliminary Install

Install Microsoft Project Server 2010 SP1 on the same server where SharePoint 2010 is running. I will not cover the steps to run the DVD installer and walking through the install process.

2. Let’s get Configuring

I assume now MS Project Server 2010 SP1 is now installed and set up. Inform you users there might be slow performance of SharePoint (approx. 1-4 min)

 3. Preliminary Check

Central Administration ~ Manage Service Applications

* ensure you already don’t have Project Server Related running

 4. Launch Configuration Wizard

Central Administration ~ Configuration Wizard

If Configuration Wizard is missing; either the account context in which you are attempting to configure Project Server does not have enough permission to launch Central Administration Configuration Wizard / ideally your account should be Farm Administrator or equal.

* If you have the right level of permission try closing the Central Administration on Server and open Central Administration as Administrator (Right click > Run as Administrator)

 5. Run Wizard

Start the Configuration Wizard ~ Yes walk me through the configuration of my farm using this wizard

Ensure you check/select Project Server Service Application ~ Hit Next ~ ‘Processing’

* This might cause your SharePoint to slow down during the installation

Once it has finished It will take you to ‘Configure your sharepoint farm’ section. Unless you want to create a new site etc. SKIP on this section. You should now get the message : This completes the Farm Configuration Wizard

Site Title: N/A
Site URL: N/A

Make sure in list of service appliations you have :
Project Server PSI Service Application

Finish

 6. Check Setup

Central Administration ~ Application Management ~ Manage Service Applications

You should now see > Project Server Service Application – Project Server PSI Service Application should now be in Started mode.

 7. Let’s Get Provisioning

Click on the above ~ Create Project Web App Site

  1. Should auto-populate, change anything that is required to be changed
  2. You can remove PWA and give it a more meaningful name
  3. Once you have checked and submitted request
  4. Status 1: Waiting for resources
  5. Status 2: Creating project web app site
  6. Status 3: Provisioning databases (normally takes time)
  7. Status 4: Configuring the new project web app site
  8. Status 5: Provisioned

 That’s it browse to your new PWA site. I hope this has been helpful

 How to manage User Settings/Permissions on PWA

To be honest this could be written as a dedicated blog post but thanks to authors of some key resources below.

References:

http://ntrajkovski.wordpress.com/2012/05/08/project-web-app-permissions-in-ms-project-server-2010/
http://www.epmcentral.com/pwa10/projpermissions.php
http://msdn.microsoft.com/en-GB/library/gg412653(v=vs.100).aspx
http://blogs.msdn.com/b/project/archive/2010/03/04/project-2010-project-permissions.aspx