MyAdviceWriter ...

If you see this post it means that BlogEngine.NET is running and the hard part of creating your own blog is done. There is only a few things left to do.

Write Permissions

To be able to log in, write posts and customize blog, you need to enable write permissions on the App_Data and Custom folders. If your blog is hosted at a hosting provider, you can either log into your account’s admin page or call the support.

If you wish to use a database to store your blog data, we still encourage you to enable this write access for an images you may wish to store for your blog posts.  If you are interested in using Microsoft SQL Server, MySQL, SQL CE, or other databases, please see the BlogEngine docs to get started.

Security

When you`ve got write permissions set, you need to change the username and password. Find the sign-in link located either at the bottom or top of the page depending on your current theme and click it. Now enter "admin" in both the username and password fields and click the button. You will now see an admin menu appear. It has a link to the "Users" admin page. From there you can change password, create new users and set roles and permissions. Passwords are hashed by default so you better configure email in settings for password recovery to work or learn how to do it manually.

Configuration and Profile

Now that you have your blog secured, take a look through the settings and give your new blog a title.  BlogEngine.NET is set up to take full advantage of many semantic formats and technologies such as FOAF, SIOC and APML. It means that the content stored in your BlogEngine.NET installation will be fully portable and auto-discoverable.  Be sure to fill in your author profile to take better advantage of this.

Themes, Widgets & Extensions

One last thing to consider is customizing the look and behavior of your blog. We have themes, widgets and extensions available right out of the box. You can install more right from admin panel under Custom/Gallery.

On the web

You can find news about BlogEngine.NET on the official website. For tutorials, documentation, tips and tricks visit our docs site. The ongoing development of BlogEngine.NET can be followed at CodePlex where the daily builds will be published for anyone to download.

Good luck and happy writing.

The BlogEngine.NET team

I decided to move my blog to something that I host and run, so I can have more control over how it behaves. I'm also updating my site www.benkotips.com to a new infrastructure and hope to include some new features. Make sure you check it out!

This morning, club President Vince Bullinger, Vice President of Membership Mike Benkovich (and his daughter) and Treasurer Brette Esterbrooks visited the Crest Toastmasters club in Eden Prairie. It is an advanced club filled with past district leaders that focus on improving Toastmasters clubs in the area.

This was a great opportunity to not only get the Elusive Gilded Gavel (EGG), but also to connect with advanced Toastmasters and see how they run a meeting. We promoted our upcoming TechMasters After Dark event as well, and passed out a handful of copies of our flyer for the event.

Now, other clubs will be visiting our club to not only see what we do well, but see if they can offer suggestions on how to improve. Also, we may snag members or dual members of other clubs if they like the way we run things or if they are technology-focused in their careers (as we are). Plus, we may end up in the district newsletter and on the EGG website.

Visiting other clubs is always a great idea, but advanced clubs like this one are a special treat.

egg

The post TechMasters Captured the Elusive Gilded Gavel! appeared first on TechMasters - Twin Cities.

PARLIAMENTARY PROCEDURE WORKSHOP

TechMasters – a Toastmasters chapter run by IT professionals in the Twin Cities – is hosting a Parliamentary Procedure in Action workshop. Tuesday, February 23rd at 6pm at ILM in Edina. Doors open at 5:30pm for networking and light food/refreshments. The workshop will be led by Mike Benkovich. With over twenty years of experience in Toastmasters, Mike has the knowledge and expertise to guide you through the process.

Be Heard. Don’t Miss the Motion. Dive into Parliamentary Procedure

When groups of people come together to get things done, we need a way to conduct business that follows established rules and help keep us on track. Since General Henry Robert introduced his rules of order in 1876, organizations have adopted its guidelines to give members and participants a way to be heard. In this hands on workshop, we start with getting a grounding on what the rules are and how they work. Then, we dive deeper to give participants an opportunity to demonstrate how to put them into practice. Join us for the Parliamentary Procedure in Action workshop.

RSVP to our EventBrite page: bit.ly/TechMastersPPIA

The post Announcing TechMasters After Dark: Parliamentary Procedure in Action appeared first on TechMasters - Twin Cities.

I like to think of myself as an early adopter, but I’m a month behind in getting the latest set of tools for Visual Studio 2015 and Azure. One of the great additions is the Cloud Explorer, a new utility for managing services provisioned in the cloud. These have been well documented by my friend Brady on the  Azure Blog, but one of my favorite things is the ability to filter subscriptions and/or search for a named service. With it I can click the settings icon, pick the subscription I am working with from a checkbox list. I can also specify a different account which might be associated with a different set of subscriptions.

image

Once I’ve specified which subscription I am working with I get a filtered list of services grouped by type. These include things like Storage Accounts, Databases and Web Apps, as well as other services or automation jobs I’ve created. To make it even easier I can search for a specific name of something with the search box!

image

Once you find what you’re looking for the Actions/Properties box at the bottom of the explorer gives you options for that as well, including the ability to see the logs or attach a debugger.

image

You’ll want to try these out, especially if you’re managing a lot of services. Get it today by clicking one of the links below. Enjoy!

Azure SDK 2.7 for .NET [download for VS 2015 | VS 2013]

Technorati Tags: ,

This past week, a new leadership team was announced! You can always see the latest leadership team at: http://techmasters-tc.com/home/leadership-team/

The leadership team is made up of club members (volunteers) who run the business of the club. Officer terms run from July through June to match the Toastmaster International fiscal year

2015-2016 Leadership Team

President: Vince Bullinger
VP of Education: Alex Karamushko
VP of Membership: Mike Benkovich
VP of Public Relations: Clea Levinson
Secretary: William Austin
Treasurer: Brette Esterbrooks
Sergeant of Arms: Mohammad Faridi
Immediate Past President: Alex Karamushko

We have a lot of exciting new ideas into which we’re really going to be diving very soon. We’re looking to make this the most exciting and dynamic year in TechMasters history. Stay tuned! We’re going to be much more active in the social networking space and look to dramatically increase membership!

The post New Leadership Team! appeared first on TechMasters - Twin Cities.

Have you ever tried to reuse code by adding existing files to a project? In Visual Studio this usually works, with the file getting put into the right location, associating the editor based on the file extension. I’ve been working on a Xamarin Forms project which allows me to use XAML to create the UI and C# for the code behind. This enables me to leverage my skills and experience building Windows and Windows Phone applications on iOS and Android. The problem came when I would include an existing file into a project.

image

The error: InitializeComponent does not exist – makes me wonder what’s wrong with the file? First things first, I checked that the namespace and class names matched. Next I tried commenting out what might’ve been invalid XAML syntax with the thought that maybe it wasn’t compiling right. No luck. Finally I compared the file to another that was working (I added myWorkingForm.XAML and guess what, no error in that one!). Both had the same namespace, both had the same class name declared as public partial (meaning it’ll compile the XAML + the C# into a class).

Finally I was down to looking at the compiled objects folder…and I saw that while myWorkingForm created an interim file myWorkingForm.xaml.g.cs the one that came from the file I included did not. I decided to look at the shared project’s projitems file (which is what lists the types of files in the project). I discovered that Visual Studio assumes that a XAML file is Windows XAML, not Xamarin XAML. In the projitems file the XML showed that adding the existing file associated it as a Page, where the other file that worked was marked as an Embedded resource (see below).

<ItemGroup>
  <EmbeddedResource Include="$(MSBuildThisFileDirectory)Pages\myWorkingForm.xaml">
    <SubType>Designer</SubType>
    <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
  </EmbeddedResource>
</ItemGroup>

<ItemGroup>
  <Page Include="$(MSBuildThisFileDirectory)Pages\TestForm.xaml">
    <SubType>Designer</SubType>
    <Generator>MSBuild:Compile</Generator>
  </Page>
</ItemGroup>

To make it work? Manually change the myproject.projitems file (in the solution explorer open the containing folder then edit the file with notepad) for TestForm.xaml to use the EmbeddedResource tag, matching that for myWorkingForm.xaml. This causes the build to use the Xamarin compiler and generate an interim file TestForm.xaml.g.cs. Problem solved!

Happy Coding!    (originally posted on www.benkotips.com)

Technorati Tags: ,

I’ve been working on a project using Xamarin.Forms and Azure Mobile Services for a while, and one issue I came across that wasn’t entirely clear is how do you work with an existing database, yet support updates to the tables and be able to deploy to different environments (like Test, QA and Prod)? Hopefully I can shed some light with this post.

Azure Mobile Services is a feature rich cloud service that promises to take care of some of the complexities of building connected mobile apps. It supports things like 3rd party federated identity, push notifications, logging and more. With the original node.js release it supported JavaScript configuration for the CRUD operations against a table along with a dynamic schema that adapts to the request received via REST. In the .NET release they replace node.js with the ability to roll your own logic in C# and handle the data interaction with WebAPI type controllers. It requires a bit more work, and handling the database changes can be confusing.

Fortunately I’ve found a couple articles that help illustrate how this is done (on MSDN), but it doesn’t specify how to handle ongoing updates. To make it work for my scenario I either needed a way to support data model changes to a .NET backend mobile service, but have a consistent schema name when I move between environments. In the second article they show how to enable code-migrations, and to replace the default database initializers, by using the NuGet package manager and modifying code in the WebApiConfig.cs file. The steps were:

  1. Use NuGet Package Manager to Enable-Migrations
  2. Add a starting migration
  3. Update the WebApiConfig.cs file to use a DbMigrator to update the context instead of calling the default initializer

    public
    static class WebApiConfig
    {
    public static void Register()
    {
    // Use this class to set configuration options for your mobile service
    ConfigOptions options = new ConfigOptions();

    // Use this class to set WebAPI configuration options
    HttpConfiguration config = ServiceConfig.Initialize(new ConfigBuilder(options));

    // *** BENKO: Enable database migrations for the service
    //Database.SetInitializer(new MobileServiceInitializer());
    var migrator = new DbMigrator(new Configuration());
    migrator.Update();
    }
    }
  4. Test local and confirm it’s working

I added a couple additional changes to set the schema name for my app in the MobileServiceContext.cs file (in the Models folder).


protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// *** BENKO: This is what sets the schema name to the service name...
string schema = ServiceSettingsDictionary.GetSchemaName();
schema = "mySchema";
if (!string.IsNullOrEmpty(schema))
{
modelBuilder.HasDefaultSchema(schema);
}

modelBuilder.Conventions.Add(
new AttributeToColumnAnnotationConvention<TableColumnAttribute, string>(
"ServiceTableColumn", (property, attributes) => attributes.Single().ColumnType.ToString()));
}

I also need to make sure to create the schema on my database instance in SQL Azure and grant rights to the service user account. You can get the user account using SQL Server Mgmt tool (expand the users of the database node, or by running a SQL Script to select name from the SysLogins table of the master db. Once you have it you will need to create the schema an grant rights to it. Assuming the service user is ABC123Login_myServiceUser, the script looks like this:



create schema mySchema

-- Grant specific access rights to use based on Schema
GRANT
SELECT, INSERT, UPDATE, DELETE,
ALTER, CONTROL, EXECUTE,
REFERENCES, TAKE OWNERSHIP, VIEW DEFINITION
ON SCHEMA::[mySchema]
TO [abcdefghijLogin_democityUser]

When you publish the mobile service it will attempt to update the database using the schema provided. If there are error you can use the service’s logs to figure out what’s missing. By specifying the schema name instead of using the service’s name I’m able to deploy to multiple environments but integrate this data with my other applications.

Happy Coding! (originally posted on www.benkotips.com)

Technorati Tags: ,,,

Load more...