基于SharePoint 2013的论坛解决方案[开源]
前言
这是自己在空闲时间里,为了提高对SharePoint的认识和熟悉技术,做的一个Demo。可能不尽完善,但是基本功能都已经有了,欢迎大家评论和提意见。自己也会在把源代码放到Github上进行开源,和大家一起讨论和学习。
主要功能
- 论坛发帖
- 评论功能
- 消息管理
功能演示
论坛首页,左侧为分类选择菜单,可以通过点击进行右侧的筛选,利用SharePoint XsltListViewWebPart自带的筛选实现;右侧是论坛帖子展示,是XsltListViewWebPart,右上角有消息提醒模块,点击数量可以进入消息页面;

帖子的分类筛选,通过XsltListViewWebPart自带的筛选功能来完成,左侧是一个WebPart,作用就是通过帖子分类列表(类型:查阅项)生成菜单;筛选是XsltListViewWebPart默认的Ajax机制,速度还是不错的;

点击页面上的new item可以进入添加帖子的页面,没有太多的功能,很简单;可以添加标题、内容并且选择类别,可以邀请人,被邀请的人会受到消息提醒,在登陆的时候,右上角的数量会增加(通过EventReceiver实现);

点击首页的帖子标题,可以进入查看页面,查看页面上半部分是帖子的内容,下半部分是评论功能,页面同样很简单;发表评论的时候可以邀请人,同样被邀请的人会收到通知并在右上角显示数量(通过EventReceiver实现);现在评论功能还比较简单,只能填写文字,后面有时间会继续完善;

提交评论以后会刷新页面,然后看到评论,同时可以看到右上角的消息数量由1变成了2;

查看消息,可以看到有已读和未读(黑色加粗字体)的消息,点击View Post可以查看帖子,点击标题可以查看消息的详细内容;

点击一条未读消息,右上角的消息会减少一个,该消息会由未读变成已读,消息的详细页面还没有定制;

结束语
这个解决方案由于时间关系,开发完毕没有进行充分的测试,如果有bug欢迎留言;或者有更好的建议,也欢迎留言,在有空闲时间的时候会及时修改和更新的。
如果觉得本文不错的,欢迎光临各种留言、点赞、交流。
Github 地址
https://github.com/linyus/SPForums
基于SharePoint 2013的论坛解决方案[开源]的更多相关文章
- SharePoint 2013 本地创建解决方案
在之前的博客<SharePoint 2013本地开发解决方案以及远程调试>中,我们介绍了如何通过修改注册表,使SharePoint 2013 解决方案可以本地编辑,也提及了即使修改注册表, ...
- 实现一个基于 SharePoint 2013 的 Timecard 应用(中)
门户视图 随着 Timecard 列表的增多,如何查找和管理这许多的 Timecard 也就成了问题.尤其对于团队经理而言,他除了自己填写的 Timecard,还要审核团队成员的 Timecard 任 ...
- 实现一个基于 SharePoint 2013 的 Timecard 应用(上)
在 SharePoint 2013 上面实现一个 Timecard 应用的想法来自一个真实的需求,而实现的方案在我脑海里面盘旋已经很久了,终于这几天准备安排点儿时间将它实现出来. “ We start ...
- SharePoint 2013 本地开发解决方案以及远程调试
转自:http://www.cnblogs.com/jianyus/p/3523387.html 在SharePoint开发中,我们需要在部署有SharePoint环境的服务器中开发,这是一件让人很苦 ...
- SharePoint 2013 沙盒解决方案不能激活(激活按钮不可用)
把沙盒解决方案上传到目标站点的"解决方案"库中,发现"激活"按钮是灰掉的,不可用. 首先,我想到的是权限不足,所以 "以管理员身份"启动IE ...
- 实现一个基于 SharePoint 2013 的 Timecard 应用(下)
现在,基于 Timecard 数据来一点儿数据分析. 应用需求 对于 Timecard,分析下面 2 个方面: 对于单个项目,分析其中每个成员的工时占比,以此了解工作量分配,为组间人员调度提供参考. ...
- SharePoint 2013 强制安装解决方案
Add-SPSolution Install-SPSolution -Identity DemonstrationZone.wsp -GACDeployment -CompatibilityLevel ...
- SharePoint 2013 场解决方案包含第三方程序集
前言 当我们使用SharePoint 场解决方案的时候,经常会包含第三方的程序集,而第三方的程序集经常会有强签名的问题,如果有强签名可以部署到GAC,没有的话也可以部署到应用程序下. 那么,很多初学者 ...
- SharePoint 2013 Nintex Workflow 工作流帮助(一)
博客地址 http://blog.csdn.net/foxdave 接下来一段时间的内容中,我们基于SharePoint 2013来了解一下Nintex Workflow的具体内容. 之前的几篇由于之 ...
随机推荐
- 轻松自动化---selenium-webdriver(python) (十二)
本节重点: l 键盘按键用法 l 键盘组合键用法 l send_keys() 输入中文运行报错问题 键盘按键键用法: #coding=utf-8 from selenium import webdri ...
- Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable
酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑 ...
- BrowserSync - 浏览器同步测试工具
背景: 之前在学gulp的时候,使用gulp-livereload来实时自动刷新页面省时开发,但一直比较难用,现在找到新的替代神器. 安装: // 使用淘宝镜像会快些 npm install -g ...
- Elasticsearch——Rest API中的常用用法
本篇翻译的是Elasticsearch官方文档中的一些技巧,是使用Elasticsearch必不可少的必备知识,并且适用于所有的Rest Api. 返回数据格式化 当在Rest请求后面添加?prett ...
- Httpd运维日志:通过apxs添加模块
Brief 在部署Httpd时为方便管理和安全等原因,我们仅会安装所需的模块,那么后期功能扩展时则需要通过Httpd内置提供的apxs程序来进行模块添加. 而apxs程序则位于apache/bin目录 ...
- 地图定位IOS8之后的定位
从ios8开始,苹果进一步加强了对用户隐私的保护. 当app想要访问用户的隐私信息时 系统不再自动弹出一个对话框让用户授权 解决方法: (1)调用ios8.0的API 主动请求用户授权 - (voi ...
- 实现iOS图片等资源文件的热更新化(五): 一个简单完整的资源热更新页面
简介 一个简单的关于页面,有一个图片,版本号,App名称等,着重演示各个系列的文章完整集成示例. 动机与意义 这是系列文章的最后一篇.今天抽空写下,收下尾.文章本身会在第四篇的基础上,简单扩充下代码, ...
- 【Android学习笔记】XmlResourceParser解析xml文件
最近学习Android时,需要用到解析XML文件里的数据,可以用XmlResourceParser来解析xml文件,正好将此记录下来. XmlResourceParser里常用的字段和方法 首先先给出 ...
- SQL--空值处理
--为空 SELECT * FROM dbo.Product WHERE Price IS NULL --不为空 SELECT * FROM dbo.Product WHERE Price IS NO ...
- 一个ActionResult中定位到两个视图—<团委项目>
在使用MVC做项目的时候一般的情况就是一个ActionResult一个视图,这样对应的Return View();就可以找到下面对应的视图,这是根据一个原则,"约定大于配置&quo ...