Community Server FAQ

Registration & Login

Why do I need to Register?

Depending upon how Community Server is installed you may be required to create an account before posting. Community Server supports anonymous contributions, but this option must be enabled by an administrator. To take advantage of all the features offered by Community Server, such as setting your own avatar, tracking post counts, emailing users, private messages, access private forums, and many other you will need to have an account. It only takes a few seconds to register, and it is recommended you do so.

How do I Register?

To create an account you will need to visit the Registration page and complete the form for creating a new account. Here you will specify details such as your login name and email address – depending upon how Community Server is configured you may also be asked to specify a password. If you are not asked to specify a password, one will be emailed to you after successfully registering.

I have a Username and Password, How do I Login?

After successfully registering you should have a username and password. You can then visit the login page and enter your username and password to login.

I already logged in, why do I get logged off automatically?

When logging in if you do not check the ‘Remember Me’ option you will be automatically logged off after an administrator-defined length of inactivity, usually 20 minutes. If you would like the site to always log you in automatically, please check the ‘Remember Me’ checkbox.

I forgot my username and/or password.

If you forgot your username and/or password you can visit the Forget Your Password page and have both your username and a new password emailed to you by entering the email account you’re registered with. You will be sent a new password since we store your password encrypted and have no way of retrieving the original value. Once you receive your username and new password you can login and change your password.

What if I’ve registered but still cannot login?

If you’ve registered and can’t login, check to ensure you have a valid username and password. If you are sure the username and password are valid, but still can’t login you may either require account activation or your account may be on hold. In this case it is best to contact the board administrator(s) or moderator(s).

I’ve logged in before, but now can’t login?

First check to ensure your username and password are correct. If you still can’t login your account has either been put on hold or deleted due to inactivity. Please contact the board administrator(s) or moderator(s).

User Profile & Settings

What is a Profile?

A profile is information about your account that controls how you view information within Community Server. This includes details about posts you’ve contributed to, personal information you wish to share such as your web address or weblog address, as well as setting that control how you interact with this Community Server site such as: themes, time zone, and many other settings.

Why do I want to set my time zone?

Setting your timezone will enable Community Server to display all dates and time relative to your time zone.

How do I add Signature to my Post?

A signature is a message that is appended to the end of any posts you make in the forums. You can edit your signature from the profile page. This signature will then appear at the bottom of any messages posted by you.

What is an avatar?

An avatar is a feature of the forums which allows for an image to be displayed along with your posts. Avatars may be enabled or disabled by your administrator.

How do I set my avatar?

If avatars are enabled by the administrator you will see and avatar section when viewing your profile. From here you can complete the forum to name the avatar you wish to use, either uploading an avatar or specifying a URL to your avatar. You will also need to enable your avatar for it to be displayed with your posts.

How do I change the language?

Community Server is designed to be multi-language friendly. Currently the only available language is English, but additional language packs can be installed to add support for other languages. Check http://www.communityserver.org for language packs. Within your profile you will see a listing of the available languages.

How do I set the date format?

The date format used to display any date information can be configured from your profile.

How do I turn off email-tracking?

Email tracking is a feature which will send emails to you when messages that you are subscribed to change. You can turn off all email tracking globally from your profile.

What are the other icons/avatars that show up next to users?

There are many different icons that can show up next to usernames in the forums. Common examples are administrators, moderators, or top posters. Other images may be displayed based on groups the user belongs to.

Why am I required to login to post, view members, or email other users?

Depending upon how the administrator has configured the site you may be required to be logged in before viewing/using these areas. This is primarily to protect the privacy of users who have shared their information or to prevent unwanted/unsolicited emails.

Privacy & Security

How do I change my Password?

Once logged in you can change your password from your Profile page.

How do I change my Username?

Unless the administrator has configured the site to allow username changes you cannot change you username. Otherwise you can change your username from the Profile page.

How do I change my email address?

Once logged in, you can change your private email address from your Profile page.

What Profile settings are required?

The only profile setting that is required is your private email address. This is the email address that is used when you subscribe to the forums, when a forgotten username/password is emailed. The private email address is never shared or displayed publicly. If you wish to share an email address publicly, use the public email address field. The remainder of the profile settings is optional.

What if I don’t want my name displayed in the member lists?

You can set the option in your profile and your name will not appear in any member listings, including the listing of who is online.

Navigation

What is a Forum Group?

A Forum Group is a top level grouping of related forums. A forum group contains 1 or more forums.

What is a Forum?

A Forum is a grouping of related threads of discussion. A Forum contains 0 or more threads and 0 or more sub-forums.

What is a Thread?

A Thread is a grouping of related posts. A Thread contains 1 or more Posts. The first post becomes the Thread and replies to the original post increment details on the Thread, such as the reply count or last post.

What do the Thread icons mean?

Thread Icon Legend
Topic with posts you have not read.
Topic with posts you have read.
Popular topic with posts you have not read. A topic becomes popular after a certain number of views and posts (administrator defined).
Popular topic with posts you have read. A topic becomes popular after a certain number of views and posts (administrator defined).
Announcement you have not read
Announcement you have read
A pinned topic with posts you have not read. Pinned topics are displayed before other topics until they become unpinned.
A pinned topic with posts you have read. Pinned topics are displayed before other topics until they become unpinned.
A pinned popular topic with posts you have not read. A pinned topic with enough views or replies to become popular.
A pinned popular topic with posts you have read. A pinned topic with enough views or replies to become popular.
A locked topic with posts you have not read. Locked topics do not allow replies.
A locked topic with posts you have read. Locked topics do not allow replies.

When I view a Forum I don’t see any Threads/Posts?

A forum may not display any threads if there are no threads in the forum or if filters on the forms have been applied and no threads match the filter. An example of a filter is filtering to display threads newer than a certain date, such as threads new in the past 2 weeks.

I just posted a message, how come I don’t see it?

A forum may or may not be moderated depending upon how the forum has been configured. After posting a message in a moderated forum you may receive a message stating that the post is awaiting moderation. Once the moderator(s) approve your post you post will become visible. The moderators may choose to move, edit, or delete your post to ensure that the post is topical to the current forum.

What are the different icons next to threads?

The icons next to threads when viewing a forum indicate different status. You can move your mouse cursor over these icons to see what the different status / types of threads are.

What is an Announcement Thread?

An announcement is a special post type that is always displayed at the top of a forum for a configured amount of time. The purpose of an announcement is to increase the visibility of certain topics.

What is a sticky Thread?

A sticky topic is a special post that causes a post to sort to the top of a forum for a specified amount of time. A sticky topic is similar to an announcement, whereas an announcement is displayed separate from other threads and usually does not allow replies.

What is a Locked Thread?

A locked thread is a special post that does not allow replies. Once a user locks a post or an administrator/moderator locks a thread no more posts are allowed.

Can I sort Threads when viewing a forum?

Yes, you can sort threads when viewing a forum by Author, Replies, Views, and Last Post. The default sort for a forum is to display the newest threads first (Last Post descending). To sort simply click on the options button at the bottom of the screen and select your desired sort order and click ‘Apply’.

What is the ‘XML’ icon at the bottom of a forum?

The XML icon is linked to the RSS feed for the forum. RSS is used to allow other applications to subscribe to a forum’s posts.

What is the red/green icon next to a user’s name when viewing a Post?

This icon indicates the user’s online status. A green icon means the user has been active recently (usually within the last 15 minutes). A red icon means the user has not recently been active. You can hover your mouse over this icon to see details about the user’s past activity.

I can’t access a forum I know exists.

If you are attempting to access a forum that you have visited before, but now receive an ‘unknown forum’ error there are two likely causes. The first cause is that the forum you are attempting to access is private and you are not signed in. The second cause is that the forum has been removed.

Posting

Can I use HTML?

Yes and no. You cannot type HTML directly into the editor. If you are using Internet Explorer the default editor for creating new posts will be a Rich Text Editor that will automatically format posts using HTML. If you post with a browser other than Internet Explorer a standard HTML textbox is used and BBCode can be used to mark-up posts.

What is BBCode?

BBCode is a special syntax for formatting plaintext posts.

Can I add attachments to my posts?

Yes, however, this requires the moderator(s) or administrator(s) to enable this permission for user’s on a forum-by-forum basis.

What are Emoticons?

Emoticons are graphical elements that can be added within the body of a post to add emotions to the post. Common examples are the use of smilies within the contents of a post. Community Server comes with a pre-defined set of emoticons, however the administrator can add additional ones.

How do I post a new message to a forum?

You can post a new message to a forum in several ways depending upon how the administrator has configured the site. When viewing a forum you should see an image button reading New Topic. Clicking on this image button will take you to a form for posting a message or ask you to login first. Depending upon how the administrator has configured the site you may be able to post anonymously, i.e. no login required. If you do not see the New Topic image button you may not have enough permissions – even after logging in – to post a message to the forum even though you are allowed to view the forum.

How do I reply to an existing post?

You can reply to an existing post using either the Reply or Quote image buttons displayed with the post. If you do not see the Reply or Quote image buttons when viewing a post you either do not have permissions to reply or the post may not allow replies.

How do I edit my posts?

If the administrator or moderator has configured the forum or your role to allow editing of posts you will see an Edit image button next to posts you have made. Clicking on this image button will allow you to edit your post.

How do I delete my posts?

If the administrator or moderator has configured the forum or your role to allow deleting posts you will see a Delete image button next to new posts you have made. If a post you have made has one or more replies you will no longer be able to delete the post.

My Post has words replaced with ***?

The administrator may have specified a word filter for posts. When word filters are enabled certain words that are deemed to be offensive are filtered and replaced with the ‘*’ character.

How do I add a signature to my posts?

See How do I add Signature to my Post? in the User Profile and Settings section.

How do I add an avatar to my posts?

See What is an avatar? And How do I Set my Avatar in the User Profile and Settings section.

User Groups & Permissions

What are Permissions?

Permissions control what you are or are not allowed to do while browsing the site. The permissions you are granted control all aspects of your view within Community Server.

What is an Administrator?

An administrator is the highest permission level within Community Server. By default, an administrator has full permissions to perform any action, e.g. moderating posts, approving users, and so on.

What is a Moderator?

A moderator is the second highest permission level within Community Server. By default a moderator can perform any number of tasks within a particular forum or set of forums. This includes approving posts, moving posts, deleting posts, editing posts, or banning users. If you have a problem with a particular forum the best place to start is with a moderator. Moderators belong to varying groups configured by the Administrator.

What is a Role or User Group?

A user group, also known as a role, is grouping of common users for the purpose of assigning permissions. In addition to common permission assignment a role can also be used to display an image for a user in that role. Roles make the job of administering and moderating the site easier since users can be assigned to roles and then permission applied based on those roles.

How do I join a Role or User Group?

Users are assigned to user groups by the administrator. If there is a particular group you wish to join, please send a private message or email to one of its members for more information.

Private Messages

What is a Private Message?

A private message is like email within Community Server. You can send a private message to other users within this Community Server site that is visible only to them. No private information, such as the user’s email address, is ever disclosed.

About Community Server

What is Community Server?

Community Server is a rich knowledge management and collaboration platform designed to meet the demands of the most rigorous collaborative needs. It is used by fortune 100 companies, small start-up businesses, schools, and individuals to better connect, share, and collaborate. Community Server is perfect for setting up a support system for products, reporting, and general information management by organizations or individuals.

Where can I get a copy of Community Server?

Visit http://www.communityserver.org to download the latest commercial or non-commercial version.

What types of licenses are available?

Visit http://www.communityserver.org for more information on the types of licenses available. Community Server is available in both commercial and non-commercial versions.

What do I do with new features I’ve created or bugs I’ve fixed?

Please visit http://www.communityserver.org to learn how to contribute fixes or report bugs.

SQL Server CE FAQ

Q: Is there a good whitepaper/documentation that describes the SSCE components?

A: Yes there is a knowledge base article, http://support.microsoft.com/?kbid=920700, lists the major changes (since v3.0), all relevant downloads, performance gains in the new runtime and a list of known issues with v3.1 (mostly related to working under Vista).

Q: When I go to upgrade my database there are a number of Encryption options.  What do they all mean?

A: To support older operating systems, with older encryption algorithms, and newer, more secure encryption, SQL Server Compact 3.5 supports backward-compatible encryption modes. The encryption modes available in the Upgrade to SQL Server Compact 3.5 Database dialog box are as described in the following list.

  • Platform Default: When you create or upgrade SQL Server Compact databases, Encryption mode will select the default encryption for the operating system. By creating a database on one of the newer platforms shown here, older platforms (such as Windows CE 4.2 or Windows Mobile 2003) will be unable to open encrypted SQL Server Compact files.
  • Engine Default: By default, the encryption mode for the SQL Server Compact 3.5 database file will not work on Windows CE 4.2 or Windows Mobile 2003 Software for Pocket PC. This encryption mode will work on all newer SQL Server Compact 3.5 supported platforms.
  • PPC2003 Compatibility: While less secure, this option can be used to support older and newer operating systems

Q: I’ve attempted to open a v3.1 SSCE database file using the SSCE 3.5 runtime (still in beta) and it is failing?

A: Despite using the same extension (ie .sdf) not only are SSCE 3.5 db file not backward compatible with older runtimes, SSCE 3.1 and earlier db files are not compatible with the new runtime.  If you are building an application using the new SSCE 3.5 runtime you need to make sure you call the upgrade api on the SqlCeEngine class.  Alternatively you can use Visual Studio 2008 to connect to an old database file, which will prompt you to upgrade.

Q: What does the following error message mean?

The lock manager has run out of space for additional locks.  This can be caused by large transactions, by large sort operations, or by operations where SQL Server Compact Edition creates temporary tables.  You cannot increase the lock space

A: As the error message implies it is caused by large transations but the question is how large? According to the product team the limit on the number of lock references in v3.0/v3.1 was 2^18-1 which equates to 1Gb of pages.  In v3.5 this has been increased to 2^32-1 or 17.6Tb of pages!

Q: How do enable compression when using SQL Server Merge Replication?

A: There is a property on the SQLCeReplication object appropriately named CompressionLevel that can be used to determine the level of compression that is used.  Valid values are 0 (no compression), 1 (default) through to 6 (maximum compression).  More information is available via MSDN

Q: A Select statement involving an inner join between two tables, one with an index on the join column and the other has no index, is returning incorrect results?

A: There is a known issue which has been acknowledged in this knowledge base article

Q: I want to use Merge Replication to synchronise data to my SQL Server CE database.  Are there any how-to whitepapers available?

A: In addition to the SQL Server 2005 Compact Edition Books Online there is also an article on GotDotNet that walks through synchronising against a SQL Server publication using Merge Replication.

Q: How do I create relationships between tables in SQL Server CE?

A: Unfortunately there is currently no designer support (unlike for SQL Server 2005) for building relationships between tables in SQL Server CE.  To build relationships you need to use SQL commands such as:

ALTER TABLE Orders ADD FK_Customer_Order FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)

Q: I’ve been using the IsNull function but it seems to be ignoring the second parameter (just returning True or False instead).  Is this function supported and/or is there an alternative?

A: Officially SQL Server Compact Edition doesn’t support IsNull, although the described behaviour is accurate despite not throwing a parse error or being documented.  The supported function is Coalesce which behaves in a similar fashion, returning the first non-null argument.

Q: I’ve installed all the components for SQL Server Compact Edition yet I’m still getting SQL Mobile appear in the Object Explorer within SQL Server Management Studio (SSMS)?

A: In order for the SQL Server Compact Edition elements to appear you need to install SP2 for SSMS.  This is documented in the knowledge base on the features & issues of SQL Server Compact Edition v3.1 available here.

Q: Does SQL Server Compact Edition support the concept of Schemas?

A: No, there is no support for schemas.  In fact the query engine will complain if you try to include schema prefixes – for example Select * From dbo.Companies will throw an error similar to “The table name is not valid. [ Token line number (if known) = 1,Token line offset (if known) = 19,Table name = companies ]”

Announcements and downloads

In case you haven’t already penciled these dates into your diary here are the dates (all of them) for the Microsoft Mobile and Embedded DevCon 2007:

Please select your MEDC event from the list below.

Location City Date
US Las Vegas May 1-3
India Bangalore May 10-12
Australia Sydney May 16
Taiwan Taipei May 29
Korea Seoul May 30
Japan Tokyo June 6
Singapore Singapore June 8
China Beijing June 21
Europe Berlin June 25-26

For more information please visit the MEDC website at www.medc2007.com

Sync Services FAQ

Q: Will Sync Services or SQL Server Compact Edition be in the .NET Framework, or .NET Compact Framework?

A: No, we are not shipping within either framework, but rather shipping as an add-on component.  Why?  Because we wanted more flexibility with our ship schedule.  SQLce will ship 2-3 times between .NET 2.0 and .NET 3.5.  While it would be nice to ride the distribution of the frameworks, with the embedded/private deployment options of SQLce and Sync Services, we felt it was better to have more flexibility with our schedule.

Q: Will Sync Services ship on both the desktop framework and the .NET Compact Framework?

A: Yes, but at different times. At current, March 16th ’07, we are scheduled to ship for the full framework, but we are not planning on shipping Sync Services for the device platform in the Orcas product.  We do plan to ship the client components for Sync Services soon after Orcas, but are still working out the schedule.  The problem is the various .NET Compact Framework teams, including the Visual Studio for Devices teams and Sync teams have a lot of work to manage with many different device platforms and a very short schedule, and we haven’t been able to get all the appropriate ship level test coverage complete.  We have designed, and done preliminary testing with the client components working and synching over Web Services.  We are still hopeful we can pull it in, but at this point, we’re just not ready to commit to Orcas, but rather shortly thereafter.

Q: When will Sync Services ship?

A: Sync Services for ADO.NET will ship at the same time Visual Studio Orcas ships.  This is currently scheduled for Q4 2007.  Note: This is not meant to be the official place to get the timeframe for Orcas, but rather just saying that our current plan is to ship Sync Services within SQL Server Compact Edition 3.5, which will ship with Orcas.

Q: How are deletes purged?

A: On the server, deletes are either kept in a tombstone table, or simply tracked by some sort of active/status flag in the primary table.  Since this version of Sync Services isn’t tightly coupled to SQL Server, we actually don’t do anything.  In general, we’d expect the DBA to write a scheduled task to purge tombstone records on their determined interval.  You can expect us to do more in the “future”, tease, tease, tease…

On the client, SQLce purges deleted records once it confirms data has been sent to the server.

Q: Can I purge old data on the client without triggering a delete on the server?

A: Yes.  While we don’t have a simple API to do this today, you can delete a bunch of rows on the client based on what ever criteria you decide, than simply “AcceptChanges” on the client prior to these changes being sent to the server.  Of course you could intercept these on the server an toss deletes as well to protect your server data.

Q: Does Sync Services support low bandwidth type sync scenarios?

A: By low bandwidth, I mean can I synchronize only the important things now, and catch up later.  Yes.  You can either upload only, download only, or synchronize just a particular SyncGroup based on your own logic at the time.

Q: Does Sync Services support batching for large data sets?

A: Yes, but not quite yet.  We initially scoped this out of the first release, but we believe we’ll be able to get it in, so look for it sometime around March 07.

Q: How does Sync Services track changes?

A: Sync Services uses an Anchor based model.  Each time a sync operation occurs it gets a reference mark from the server.  It could be the servers DateTime, or a TimeStamp (RowVersion).  The client saves that value for the next sync operation.  Each time the client synchronizes a particular SyncGroup, it first requests the server anchor.  It than executes the queries on the server using the last anchor as the low range, and the new anchor as the high range.  This gets a consistent set of changes across several queries.  In future releases of the Microsoft Synchronization Platform we’ll be supporting a knowledge based sync model as well as the anchor based model discussed here.

Q: Can I update everything in a single operation, or can I control things more granularly?

A: Within the SyncAgent, you can utilize the SyncGroup to determine the grouping of updates.  In the previous example, you may choose to put all the lookup tables in their own individual groups.  If the connection drops while you’re synchronizing your lookups, it can pickup where it left off next time it synchs.  However, when synchronizing Orders, you probably don’t want Orders to ever go up/down without OrderDetails.  Simply put the Orders and OrderDetails table in the same SyncGroup, and you’re all set.

Q: How are constraints, keys, and other db objects brought down to the client?

A: This again falls in the category of Sync Services is about synchronizing data, not replicating a database.  Sync Services does do some schema and even database creation with SQL Server Compact Edition.  If you’re starting from scratch, and you first synchronize, the SQLce database will be created based on the connection string properties, name, encryption, password, etc.  It will then create all the tables the client has said they’re interested in.  Remember, just because the server exposes 20 tables, doesn’t mean the client must use all of them.  The client determines which tables it wants to consume with the SyncTable collection.  When the tables are created, primary keys are created, datatypes are mapped to the clients datatypes, and nullability is applied.  No additional indexes, constraints, defaults, etc. are applied.  There are SchemaCreating/ed events fired where you can either initial create the schema to be used, or alter the schema after the tables are created.

Q: Does sync services handle parent/child/grandchild relationships?

A: Yes.  Unlike RDA where you can only sync one table at a time, Sync Services handles the hierarchical nesting of inserts, updates and deletes.  In fact you can even control it seperatly on the server from the client.  On the server, tables are placed in the SyncAdapter collection.  The order of the SyncAdapters defines the order by which updates will be applied.  Inserts and Updates are done from the top down, while deletes are done from the bottoms up.  The same is done on the client, in the SyncTables collection.  This allows the server to control its order, while allowing the client to control its order of updates

Q: How are schema changes handled?

A: Unlike merge which is geared around replicating a database, Sync Services is geared around synchronizing data.  I’m not a big believer that generally speaking the DBA simply adds a column to the server and the UI automatically updates on the client and life is good.  While it can be done, most of the time I’d bet you want some control over where and how the new element is displayed, add some interaction logic to the client, tab order etc.  We really treat schema updates as an app update.  It’s a holistic update of the app overall.  The model we’ve gone with the Sync Services are the following:

  • A new requirement is defined, say AddressLine3.  The DBA would add the column to the server.  All the normal rules apply.  If the column is non-nullable, than a default should be provided.
  • The developer involved with the sync layer would most likely create a new version of the Sync Service, say v2.  This means that apps that were using v1 can be slowly migrated, or at least be migrated within some level of control.  If the user is in the middle of an important deal, the last thing they need is a forced software upgrade.  Ever been in the middle of something important and IT forces an update that reboots your computer or app?  Software is an enabler, it should help me achieve my goals, not fight me because IT thinks its important now.
  • The app developer updates their service proxy to point to v2 of the sync service, exposing the extra column.
  • In the version check code, the app author can either choose to reset the table, or they can execute the alter table script locally adding the additional column.  They may even bring down a single data call to retrieve the values for the new column on all the existing rows.
  • The developer than decides what they want to do with the new element, updating their ui, logic etc.

So, while we didn’t implement something as simple as point click, we think it tends to fit the SOA model where apps may consume services from other apps, and they should have control over how and when they consume new schema.

Q: How are constraints, keys, and other db objects brought down to the client?

A: This again falls in the category of Sync Services is about synchronizing data, not replicating a database.  Sync Services does do some schema and even database creation with SQL Server Compact Edition.  If you’re starting from scratch, and you first synchronize, the SQLce database will be created based on the connection string properties, name, encryption, password, etc.  It will then create all the tables the client has said they’re interested in.  Remember, just because the server exposes 20 tables, doesn’t mean the client must use all of them.  The client determines which tables it wants to consume with the SyncTable collection.  When the tables are created, primary keys are created, datatypes are mapped to the clients datatypes, and nullability is applied.  No additional indexes, constraints, defaults, etc. are applied.  There are SchemaCreating/ed events fired where you can either initial create the schema to be used, or alter the schema after the tables are created.

 

Q: Does Sync Services support multiple publications

A: Yes/no.  Sync Services doesn’t utilize the pub/sub model per se.  You can configure the server provider to offer 20 tables you want to synchronize.  The client simply say it cares about 3.  Another client cares about a different 3.  Another client cares about 4, which overlap the first two clients.  In fact, we also support a client dynamically adding tables.  A sales person may cover another sales person for a week and needs to bring in an additional product line.  Within the app, the developer can change the filtering query, and off they go.