Project Description
SocialShare Starterkit v1.0 Relaesed. SocialShare Starter Kit is a kick
start application that illustrate a wide range of features that needed
to build a social site. And includes features like Status
sharing,Blogs,Forums & more. Any one need a lightweight quick
solution for his social portal,SocialShare Starter Kit is the
savior.SocialShare Starter Kit uses T-4 templates to build logical
layers (i.e. DAL/BLL) . The logical layers implemented here are based on
Entity Framework 4.0. Its also a good example to learn T4 template and
how to utilize them work with asp.net data bound controls with minimum
effort. I am continuously adding and fine tuning the existing feature
list and performance.

key Feature Summary
- Easy user integration with membership provider
- Easy user integration with existing user management
- Blog with comment posting facility
- Forum [Discussion Board]
- User module to administrate activity
- Administrative module to mange blog posts
- Administrative module to mange forum posts
- Administrative module to mange forum categories
Releases:
SocialShare for Asp.Net webform
Documentation:
Checkout the SocialShare documentation from here
According to me FCKeditor is the finest html editor till today.It is very popular among web developers because of its huge useful features.Its also compatible with asp.net.But it got some issue with asp.net page theme.When uploading file or image on editor it displayed wired XML parse error stated that "Using themed css files requires a header control on the page".I go through the forums and found its a common error while integrating with asp.net pages that use themes. After go through different forums and digging the source codes i got the solution. Basically we need to make some change to be compitable with page themes on ~/fckeditor/filemanager/connectors/aspx/config.ascx file.There you will see "UserFilesPath" is specified
we need to put Page.ResolveUrl when specifying the value.
i.e. we need to put like
UserFilesPath =Page.ResolveUrl("~/userfiles/"); [In this case my default user files upload folder is "userfiles"]
another point is we don't need asp.net themes within the fckeditor folder, so simply add a web.config file in the folder, with the following content:
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<pages styleSheetTheme="" theme=""> </pages>
</system.web>
</configuration>
those lines will do the trick,under fckeditor folder no page theme will be available.Hope these will help the developers from wasting their time just to find out this silly solution.
WPF is the most spreading technology these days. When I
stepped into this amazing world I found many useful resources all over the web,
but for beginner WPF learner like me it's quite a task to pick the useful
stuffs from those. So I go through several resources and try to combine my
findings with others. So this post is for those guys who are new on WPF. From
this post to next few posts I will explore WPF from basic to more deeper level,
So lets begin....
What is WPF:
The Windows Presentation Foundation, WPF, provides a
framework a new platform for building rich user experiences on Windows that
blend application UI, documents, and media content. WPF offers developers 2D
and 3D graphics support, hardware-accelerated effects, interactive data
visualization, and superior content readability. WPF uses XAML(Extensible Application Markup Language) for rich user
interface development.
A Common Technology for Windows and Web Browser
The primary goal of Windows Presentation Foundation (WPF) is
to help developers create attractive and effective user interfaces. WPF unified
platform helps make designers active participants in creating user interfaces,
and provides a common programming model for standalone and browser
applications, a unified platform for modern user interfaces, the ability for
developers and designers to work together, and a common technology for Windows
and Web browser user interfacesEnabling designers and developers work together like this
reduces the translation errors that tend to occur when developers implement
interfaces from designer-created images. It can also allow people in these two
roles to work in parallel, with quicker iteration and better feedback.
WPF is the platform of choice for today's visually demanding
applications with its inherent support of rich media, data visualization,
complex text content, dynamic interactive experiences, and branded or custom
look and feel. For these types of applications, WPF provides significant
advancements in areas such as advanced layout, control skinning and styling, animated
hardware accelerated 2D and 3D graphics, and built in support for rendering of
rich documents.
The table shows that prior to WPF building such a rich
experience application could require five or more disparate sets of
technologies :
|
|
WinForms
|
PDF
|
WinForms + GDI
|
Windows Media Player
|
Direct3D
|
WPF
|
|
Forms, Controls
|
X
|
|
X
|
|
|
X
|
|
Complex text
|
|
X
|
|
|
|
X
|
|
Images
|
|
|
X
|
|
|
X
|
|
Video / Audio
|
|
|
|
X
|
|
X
|
|
2D Graphics
|
|
|
X
|
|
|
X
|
|
3D Graphics
|
|
|
|
|
X
|
X
|
A developer can create a XAML Browser Application (XBAP)
using WPF that runs in Internet Explorer. In fact, the same code can be used to
create a standalone WPF application and an XBAP.
WPF features
WPF shipped with many stunning features some of them I found
interesting :
-
This aims to provide a unified avenue for
displaying graphics, as well as more advanced graphical features.
-
Supports 3D model rendering and interaction in
2D applications.
-
Time-based animation. Scene redraws are time
triggered
-
Presentation timers are initialized and managed
by WPF
-
Animation effects can be defined on a per-object
basis, which can be accessed directly from XAML markup
-
WPF has a built-in set of data services to
enable application developers to bind and manipulate data within applications.
-
LINQ
queries, specifically LINQ to XML, can also act as data sources for data
binding
-
Binding of data has no bearing on its
presentation. WPF provides data templates to control presentation of data.
-
A set of built-in controls is provided as part
of WPF, containing items such as button, menu, grids and list box
-
WPF includes a number of typographic and text
rendering features that were not available in GDI.
-
WPF handles texts in Unicode, and handles texts
independent of global settings
-
The WPF text engine also supports built-in spell
checking. It also supports such features as automatic line spacing, enhanced
international text, language-guided line breaking, hyphenation, and
justification, bitmap effects, transforms, and text effects such as shadows,
blur, glow, rotation etc. Animated text is also supported; this refers to
animated glyphs, as well as real-time changes in position, size, color, and
opacity of the text.
WPF And XAML:
XAML is the heart of WPF. The
benefits of XAML are not just in the presentation, data binding allows
declarative connection to the underlying model. All of this makes it much
easier to change your user interface without needing to change the other layers
of your application. Another important aspect of XAML is the ability through
these file formats to have designers and developers able to work on the same
files.
WPF and VS2008
Since the platform is new, so is
the tooling. Visual Studio 2008 has core WPF support with a new design surface
that provides drag and drop support for WPF layout and controls, a new property
editor, as well as Intellisense support for XAML editing. Also we can use
Microsoft Expression Blend which focuses on the more creative, visual, and
interactive aspects of the platform by manipulate animation, skinning and
styling, data binding, and general visual asset creation. Expression Blend supports
Visual Studio projects.
A Sample Application:
Lets enrich our skills by create a very simple application. I will try to be as much
declarative as possible.
From File | New |
Project click open the New Project window. Click on Visual C# and expand its contents. Under .NET 3.5
Framework choose the Windows Application (WPF).
Choose the name of the application to some name of
your choice. For this article I have changed to WPF.Beginer.Part1. Click on the
OK button after typing a name of your choice. This creates the necessary
file/folders for the application.
There are two XAML
files created in the project. The App.xaml and the Windows1.xaml file. App.xaml
is more like default application startup point RUN.
Below is the Code of
a sample beginner application that will contain a text box, a button and a
label. Write something on text box then click button to fire an event handler
and write that given text on level that it .pretty simple isn't it?
|
Window1.xaml Markup: |
|
<Window x:Class="WPF.Beginer.Part1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="378.144" VerticalContentAlignment="Center" HorizontalContentAlignment="Center">
<Grid>
<Border Margin="9.09,10.908,11.817,126.351"
Name="border1"></Border>
<Button Click="button1_Click"
Height="23" Margin="78.174,85.446,124.826,0"
Name="button1" VerticalAlignment="Top"
Cursor="Arrow" BorderBrush="WhiteSmoke"
Foreground="DarkBlue"
OpacityMask="Blue">Print Name</Button>
<TextBox Height="23"
Margin="0,19.089,59.994,0"
Name="textBox1" VerticalAlignment="Top"
HorizontalAlignment="Right" Width="194.342"
/>
<Label Height="28"
Margin="8.181,17.089,0,0"
Name="label1" VerticalAlignment="Top"
HorizontalAlignment="Left" Width="69.993">Enter name</Label>
<Label Height="25.452"
Margin="17.271,54.54,28.179,0"
Name="label2" VerticalAlignment="Top"
BorderThickness="1" BorderBrush="Aquamarine">Text Will Go here</Label>
<MediaElement Height="120"
Margin="9.09,0,20.907,7.272"
Name="mediaElement1" VerticalAlignment="Bottom"
Source="E:\Movies\Wall.E.2008.R5.XViD.avi"
IsMuted="True" AllowDrop="False"
/>
</Grid>
</Window>
|
|
Window1.xaml.cs Event Handler: |
|
private void button1_Click(object sender, RoutedEventArgs e)
{
label2.Content = textBox1.Text;
}
|
Run the application thats it our very first WPF application. Have fun.
To be continued.......