March 15, 2010

Long time!

It has been a long time since I posted. I have been so busy on multiple projects but have focused most on the Android app. I will try and post some more when I can.

February 2, 2010

Android Release!

OK, I think it has been a week or so since I posted to the blog. I have been crazy busy with a whole bunch of things. I finally got a beta version for my android application. For those of you with an android phone, you can download it here.

Hopefully, I'll get some time to post some things about the project on this blog.

January 23, 2010

Weekend

I hope everyone had a good weekend!

January 22, 2010

Kindle Store

The kindle is now also creating an app store? Wow...

January 21, 2010

Android Virtual Keyboard not showing up

I added a textbox but the virtual keyboard is now showing up? Seems thisis the solution...

January 20, 2010

Sysprep on Windows 2008

Talk about a nightmare! It was so much easier in 2003. Here is a good link that explains how to do that step by step.

January 19, 2010

Android and Capitalize Letter

I had a textview and what was weird is that I could not get it to always assume capital after a period. Here is what I learned:

android:capitalize

If set, specifies that this TextView has a textual input method and should automatically capitalize what the user types. The default is "none".

Must be one of the following constant values.
Constant     Value    Description
none 0 Don't automatically capitalize anything.
sentences 1 Capitalize the first word of each sentence.
words 2 Capitalize the first letter of every word.
characters 3 Capitalize every character.
This corresponds to the global attribute resource symbol capitalize.

API Link

January 18, 2010

Back

Finally back, but so tried.

January 17, 2010

Rain

Really? Rain on vacation!

January 16, 2010

Vacation

I'll be back on Tuesday!

January 15, 2010

Weekend

Have a good weekend everyone!

January 14, 2010

ASP.NET MVC 2.0

I just came across this...why am I behind.

January 13, 2010

2010 Trends

Trends for 2010

January 12, 2010

Mutliple versions of Android

I am finding it painful to test my app on multiple versions of android. It seems 1.5/1.6 are the main ones out there and a small percentage of people are on 2.0/2.01 and 2.1. Some of my problems also stem from the very drastic difference in hardware! Anyway, searching google, it seems others are complaining about this as well ;)

...I'll try and get back to my AzMan posts tomorrow

January 11, 2010

Interesting Powershell Post

Interesting Post

January 10, 2010

Android Today

Played some more with android today...my application is taking shape! I hope to get it to the market within the next two weeks.

January 9, 2010

Good Weekend

Hope everyone is having a good weekend...

January 8, 2010

AzMan API Library II

To continue my post on the AzMan Library, I wanted to show all the basic classes and makeup and since I briefly discussed it yesterday, I figure it is worth showing:
//AzLibApplication
IAzApplication _app;

public AzLibApplication(object app)
{
_app = (IAzApplication)app;
}

public IAzApplication Native
{
get { return _app; }
}

public string Name
{
get { return _app.Name; }
}

public string Description
{
get { return _app.Description; }
}

public List<AzLibOperation> Operations
{
get { return AzLibAzManHelper.GetOps((IAzOperations)_app.Operations); }
}

public List<AzLibRole> Roles
{
get {
return AzLibAzManHelper.GetRoles(
this,
(IAzRoles)_app.Roles,
(IAzTasks)_app.Tasks
);
}
}

public List<AzLibTask> Tasks
{
get { return AzLibAzManHelper.GetTasks((IAzTasks)_app.Tasks); }
}

public List<AzLibScope> Scopes
{
get { return AzLibAzManHelper.GetScopes(this, (IAzScopes)_app.Scopes); }
}

public List<AzLibApplicationGroup> ApplicationGroups
{
get { return AzLibAzManHelper.GetApplicationGroups((IAzApplicationGroups)_app.ApplicationGroups); }
}

I mentioned yesterday the simple objects...some examples below:

public class AzLibOperation
{
IAzOperation _op;

public AzLibOperation(object op)
{
_op = (IAzOperation)op;
}

public string Name
{
get { return _op.Name; }
}

public string Description
{
get { return _op.Description; }
}

public int OperationID
{
get { return _op.OperationID; }
}
}
Store:
 IAzAuthorizationStore _store;

public AzLibStore(IAzAuthorizationStore store)
{
_store = store;
}

public List<AzLibApplication> Applications
{
get { return AzLibAzManHelper.GetApplications((IAzApplications)_store.Applications); }
}

The API Library as I mentioned is broken out into two assemblies and the first one is what I have been explaining yesterday and today. This weekend I'll explain the second part and post the code for the two assemblies. Next week, I'll get onto secondary applictions built off this API such as the AzMan reporter.

January 7, 2010

AzMan API Library

Over the years my work with AzMan has forced me created many applications and libraries. Having re-worked my original Lib, I feel that I need to first show the lib code before we can even get to the secondary external applications that I built around this. The library contains a ton of classes and I will go through some of them this week and upload them as well. I'll start by going through the main AzManHelper class:


public static List<AzLibRole> GetRoles(ITasksSource tasksSource, IAzRoles roles, IAzTasks tasks)
{
List<AzLibRole> result = new List<AzLibRole>();
NamedTasks namedTasks = new NamedTasks(tasks);
List<string> usedTasks = new List<string>();

for (int it = 0; it < roles.Count; it++)
{
IAzRole role = (IAzRole)roles[it + 1];
IAzTask task = namedTasks.FindMatchingTask(role);

if (task != null)
{
result.Add(new AzLibRole(tasksSource, role, task));

// Keep trach of the used task
usedTasks.Add(task.Name);
}
else
{
result.Add(new AzLibRole(tasksSource, role));
}
}

for (int it = 0; it < tasks.Count; it++)
{
IAzTask task = (IAzTask)tasks[it + 1];

if (usedTasks.Contains(task.Name) == false)
{
if (InteropHelper.IsTrue(task.IsRoleDefinition))
result.Add(new AzLibRole(tasksSource, task));
}
}

return result;
}

public static List<AzLibOperation> GetOps(IAzOperations ops)
{
List<AzLibOperation> result = new List<AzLibOperation>();

for (int it = 0; it < ops.Count; it++)
{
result.Add(new AzLibOperation(ops[it + 1]));
}

return result;
}

public static List<AzLibScope> GetScopes(AzLibApplication app, IAzScopes scopes)
{
List<AzLibScope> result = new List<AzLibScope>();

for (int it = 0; it < scopes.Count; it++)
{
result.Add(new AzLibScope(scopes[it + 1], app));
}

return result;
}

public static List<AzLibApplication> GetApplications(IAzApplications apps)
{
List<AzLibApplication> result = new List<AzLibApplication>();

for (int it = 0; it < apps.Count; it++)
{
result.Add(new AzLibApplication(apps[it + 1]));
}

return result;
}

public static List<AzLibApplicationGroup> GetApplicationGroups(IAzApplicationGroups groups)
{
List<AzLibApplicationGroup> result = new List<AzLibApplicationGroup>();

for (int it = 0; it < groups.Count; it++)
{
result.Add(new AzLibApplicationGroup(groups[it + 1]));
}

return result;
}

public static AzLibClientContext GetContext(AzLibApplication app)
{
IAzClientContext context = app.Native.InitializeClientContextFromToken(0, null);
return new AzLibClientContext(context);
}

The above does not show, but the AzLibOperation (and tasks, roles, etc.) just are simple objects that are gets of the Name, Description, and ID from AzMan. It will be clear once you look at all the code...but let's take it one step at a time.

January 6, 2010

All nighter...

Still up trying to get things done for a deadline today...I am finally almost done!

January 5, 2010

Crazy Day

I will do my best to post the AzMan reporter sometime this week as someone just requested it...

January 4, 2010

Start Android Application on Boot

Here is an article on how to do that...will try it out tomorrow.

January 3, 2010

Powerboots

It has been a long time since I used powerboots...I had a need for it today and you can find the codebase on codeplex.

January 2, 2010

Weekend

Hope everyone had a good long weekend! More android stuff next week.

January 1, 2010

Happy New Years!

Happy New Years!