Incorrect default project permissions in recently created and published projects

Projects that were created or published between October 17, 2012, and November 27, 2012 may have incorrect permissions!

The default groups have been granted too few permissions due to mis-configuration. This means that, for example, the project members in the “Members” group haven’t had the permission to commit anything to the version control by default, because they lack the VERSION_CONTROL permission.

The actions we have taken to deal with this issue (and what you can do) are covered in Help & Support ticket [https://projects.developer.nokia.com/HelpAndSupport/ticket/346 #346].

Code syntax markup added to Nokia Developer Blogs

We’ve just updated the Blogs to add proper support for code syntax markup, which will be a great relief to posters who have been trying to get decent looking monospace code blocks using odd combinations of pre and code tags, and proper layout using HTML br tags.

All you need to do is add a lang=”language-code attribute to your pre tag and copy-paste your formatted text into the block. You can also add line marking (using attribute line=number“) and line “highlighting” (using attribute highlight=3“). Check out the example below:

CSharp without line numbers

#region Properties
public RelayCommand CTest { get; private set; }
 
private ObservableCollection _CtxItems;
public ObservableCollection CtxItems
{
    get
    { return _CtxItems; }
    set
    {
        if (_CtxItems == value)
        {
            return;
        }
        var oldValue = _CtxItems;
        _CtxItems = value;
        base.RaisePropertyChanged("CtxItems");
    }
}

Csharp with line numbers and highlight

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#region Properties
public RelayCommand CTest { get; private set; }
 
private ObservableCollection _CtxItems;
public ObservableCollection CtxItems
{
    get
    { return _CtxItems; }
    set    {
        if (_CtxItems == value)
        {
            return;
        }
        var oldValue = _CtxItems;
        _CtxItems = value;
        base.RaisePropertyChanged("CtxItems");
    }
}

The implementation is not (at time of writing) perfect – there isn’t quite enough space around blocks that don’t have line numbers, XML does not work unless you first escape HTML entitites, and nor does captioning. For documentation of how to use this feature (and for the current state of development) see our User Guide.

Examples

Java

2
3
4
5
6
public class Hello {
  public static void main(String[] args) {
    System.out.println("Hello World!");
  }
}

Csharp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#region Properties
public RelayCommand CTest { get; private set; }
 
private ObservableCollection _CtxItems;
public ObservableCollection CtxItems
{
    get
    { return _CtxItems; }
    set
    {
        if (_CtxItems == value)
        {
            return;
        }
        var oldValue = _CtxItems;
        _CtxItems = value;
        base.RaisePropertyChanged("CtxItems");
    }
}
 
private string _SelectedCtxItems;
1
2
3
4
5
public class Hello {
  public static void main(String[] args) {
    System.out.println("Hello World!");
  }
}

C++

1
2
3
4
5
6
7
8
ref class myFactory sealed : Windows::ApplicationModel::Core::IFrameworkViewSource
{
public:
    virtual Windows::ApplicationModel::Core::IFrameworkView^ CreateView()
    {
         return ref new myView();
    };
};

html4strict

 
<button type="button" name="stepUp">Add 10</button>
<button type="button" name="stepDown">Subtract 10</button>

CSS

1
2
3
4
5
6
7
8
9
10
@font-face {
    font-family: 'iconic';
    src: url('webfonts/iconic.eot');
    src: url('webfonts/iconic.eot?#iefix') format('embedded-opentype'),
         url('webfonts/iconic.svg#iconic') format('svg'),
         url('webfonts/iconic.woff') format('woff'),
         url('webfonts/iconic.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

javascript

1
2
3
4
5
6
7
input.addEventListener('invalid', function(e) {
    if(input.validity.valueMissing){
        e.target.setCustomValidity("PLZ CREATE A USERNAME, YO!"); 
    } else if(!input.validity.valid) {
        e.target.setCustomValidity("U R DOIN IT WRONG!"); 
    } 
}, false);

XML (with escaped HTML entitities

Note, uses escaped=”true”

<!--ContentPanel - place additional content here-->
 <grid grid.row="1" x:name="ContentGrid">
   <listbox itemcontainerstyle="{StaticResource ContexMenuItemStyle}" itemssource="{Binding CtxItems}" selecteditem="{Binding SelectedCtxItems, Mode=TwoWay}" x:name="lbxTest">
  </listbox>
 </grid>

Problematic examples

XML

Defective because only comment shown – not subsequent lines

<!--ContentPanel - place additional content here-->

PHP

Defective, because PHP code not shown

<div>
 
</div>

Captions (file and/or file path of the source file)

Defective, because no caption shown

public class Hello {
  public static void main(String[] args) {
    System.out.println("Hello World!");
  }
}

Series 40 Web Apps UI Visualisation Examples (Featured Project of the Month November 2012)

project iconSeries 40 Web Apps UI Visualisation Examples is a Nokia Developer example which demonstrates the basic use of the S40 Web Apps HTML “UI Components”. The example code snippets are meant for both designers and developers: designers get an impression of how the components actually look on the device and developers learn how to use the Web Apps UI components.

If you’ve noticed a theme in our examples you’re right. Last month we featured a similar project showing off Java ME UI components. These sorts of Nokia Developer examples make it easier for designers and developers to start programming more easily, with less iteration.

The project wiki documentation contains extensive documentation explaining the main UI elements and navigation elements, along with common design patterns. This is a useful complement to the Series 40 Web Apps Developer’s Library.

As this is an official example, you can ask questions in the project discussion boards.

– Hamish Willee (on behalf of the Projects Moderation team)

Thank you Nokia Ron

By now, many of you will have heard that Ron Liechty (Nokia Ron) is leaving Nokia Developer to enjoy a well-earned retirement. I’ve created this blog as a place where we can share anecdotes about our experiences with working with Ron, and thank him for his dedicated stewardship of our community.

It’s my blog, so I get to go first. I’ll be brief!

I guess I should say up front that I’ve still not actually met Ron in person, although I do know he looks a bit like a pirate on a motorcycle (images below for your viewing pleasure). That feels very odd with someone I’ve worked closely with for 2 years and come to respect and value.

I first became “aware” of Ron in 2006. He seemed to be everywhere on the forums – providing fast and concise answers on almost any topic. While his technical responses were excellent, what set him apart for me was how diplomatic, respectful and patient he was in all circumstances (I was a technical support team leader at the time, and let me tell you, this is not always easy!)

When I joined Nokia to share community management responsibility for the wiki I was a little nervous about working with Ron. Firstly he was a legend in the community, with a reputation a mile high – how could I make my mark? Also, I know how hard it is to share responsibility for a community you’ve built with people you don’t yet trust. I shouldn’t have worried – he was very welcoming and helped mentor me through “working in Nokia”.

Things aren’t going to fall apart now he is going – the moderators and champions he’s recruited will still be working as hard with the community as ever; and of course Ron’s done a thorough job handing over his responsibilities. But over the last 2 years we’ve become a really effective team, and that is what I will miss most – sharing the experience of working with this excellent community with him, and being able to easily get his advice and insight.

Thanks Ron for everything. I hope you really enjoy your retirement.

Promote your project with announcements

Now you’ve gone to the effort of creating and sharing a Nokia Developer project you will want people to see and use it, and you may even need help with its development.

One of the best ways is to make your project more visible is to ensure it appears on the Nokia Projects landing page. This page lists the most active projects, the newest projects, recent changes in any project, and the most interesting projects (as featured by the Project Moderation team). So if make any change or make a lot of changes, then your project will appear!

We’ve now added one more way to highlight your project: announcements from individual projects are shown on the landing page:

Project announcements

Announcements from all projects are shown on the project landing page

If you make a new release, win an award, or do anything else cool, then navigate to the Discussion section in your project and create a new topic under Announcements forum. The service will then pick up the announcement and display it on the landing page.

There are a bunch of other things you can do to promote your project, some of which are captured in the article Growing a successful project. For example, you can give your project more visibility in explorer by adding appropriate categories and being more active. And of course you can always promote your project by creating interesting articles in the main wiki covering aspects of the development, or using social media.

Wiki Competition for Windows Phone 8

We’re running a Wiki Competition to celebrate the launch the Windows Phone 8 SDK and our new Nokia Lumia devices.

This is a great opportunity to show off your skills, and also to win a new Nokia Lumia Windows Phone 8 device. We’ve got up to 10 devices to give away to the Nokia Developer community, and an additional 5 phones for Nokia/Microsoft employees who want to compete.

Nokia Lumia 820 on charging pad

Winners will write original wiki articles (code examples, guides, tutorials etc.) that showcase the cool new features for developers on Windows Phone 8. In less than a week we’ve already had 3 entries submitted, and a number of other still in draft. If you think you can do better, we’d love to see what you can come up with.

Everything you need to know about the competition is on the competition page: Windows Phone Wiki Competition 2012Q4. If after reading you have any questions, please raise them as comments on that wiki page.

Managing project files and downloads just got easier

Featuring a binary release on your project summary page is a great way of making them available and obvious to your users. We’ve just made this a lot easier to do (along with the management of your other files).

Featured Files

Previously, featured downloads were uploaded and managed separately from other files in a “well hidden” section of the Admin tab. In the most recent Project’s update the downloads functionality has now been merged into the “Files tab”. This means that files only need to be uploaded once, and that its obvious how to feature them.

Existing projects have been migrated to use the new system, and any entered description and platform details for featured downloads will have been preserved (the version detail field no longer exists). Note that if you didn’t have a description before, we highly recommend you go and add one now.

In addition to new support for featuring, we also improved the file management tools: now you only “need” to use WebDAV if you have to upload a lot of files in a single session.

For more information see our help documentation and the enhancement ticket.

Qt C++ markup on the wiki just got a whole lot better

Wiki code syntax markup has just been improved significantly.

The most important change is much better Qt C++ markup: if you mark up your code blocks using code cpp-qt (instead of code cpp) then Qt core classes are automatically linked to their corresponding documentation! The image below shows a side-by-side comparison of cpp vs. cpp-qt markup – note how QApplication is a link on the right hand side.

Side by side comparison of Qt and Qt cpp

We’ve gone through all Qt articles on the wiki and updated all instances of “code cpp” with “code cpp-qt”. Please do the same in your future Qt articles!

The update also provides numerous other small improvements to markup, including better support for C# (adds more keywords).

Community website update 2012Q3 improves UI, documentation and performance

Most of the improvements to the community infrastructure in 2012Q3 have been “under the hood”. For projects in particular we’ve done a lot of work to profile and improve performance – allowing us get better page load times even if running on less capable hosting hardware.

The visible changes are primarily small but important changes to the user interface. For example we’ve added breadcrumb to the top project discussion boards thread and forum lists to make it easy to navigate between threads and forums (as shown below)

We also made it more obvious how to set advanced filters on ticket queries, fixed some layout bugs and made the appearance of generated lists more attractive/consistent. We improved the project “following behaviour“, and added better documentation on how it works.

Lastly in Projects, we made significant updates to the home page and documentation; they both look a lot better, and the important information is much easier to find.

In the wiki, we’ve been putting a lot of effort into improving the Windows Phone portal. It now uses pseudo “live tiles” to make it obvious you’re in Windows Phone territory on the wiki, and has been well categorised to make it easy to find the information you might need. There are over 300 articles, many of which were contributed in this quarter.

There have been many other wiki updates, including the addition of an area for Indonesian content, and improvements to the organisation of content in Series 40 Java and Web app areas.

You can find more detail on all changes in the Community Help & Support project. If you have any other suggestions for improvement to any of the community infrastructure (wiki, projects, discussion boards, blogs) then please raise them there.

Hamish Willee (Community Manager)

PS: My special thanks to the Wiki and Project moderators for their ongoing (voluntary) support for the community on these services.

Good news for Nokia Lumia 610 users

Lumia 610
Good news for Nokia Lumia 610 users – a new software release is coming soon.

This update (which is not the Windows Phone 7.8 update you may have heard about) delivers improved system performance, camera performance, and usability. We think you’ll like it a lot!

The update will be rolled out to different countries at different times, so keep an eye out for a notification message on your Lumia 610 that a software update is available. You’ll be able to install the update using the Microsoft Zune software on your computer. For more information about how to do this, go to http://www.nokia.com/support and select “Lumia 610″.

Note that if you recently purchased a Lumia 610, you already have these features available. Lucky you – we know you’ll continue to enjoy your Lumia.