• Community Server架构:博客业务详细分析(转)


    所有业务功能的分析都是针对SqlDataProvider项目里的WeblogSqlDataProvider.cs里的WeblogSqlDataProvider类

    1、进入主页(整个CS的首页):列出最新的5个Blog,其中最新的2个Blog有简要摘要,
        a、GetWeblogs:获取最新的2个Blog?
        b、GetBlogThreads:获取其余3个Blog的主题

    2、进入我的Blog页:列出最新的n(n可以设置)个Blog
        a、GetBlogThreads:获取主题
        b、GetPostsByMonths:获取每个月的Blog统计数量
        c、GetPostsByMonth:获取当前月的Blog

    3、新随笔:进入Blog编辑窗,编辑完毕之后增加一条Blog记录,并返回至Blog管理列表
        a、AddPost:“发表”,新增一条Blog的记录
        b、GetBlogThreads:进入列表,读取主题

    4、编辑:进入Blog编辑窗,并打开指定的Blog,编辑完毕之后,更新该记录,并返回至Blog管理列表
        a、打开
            i、GetWeblogPost:打开准备编辑的Blog
        b、发表
            i、GetWeblogPost:获取被编辑的Blog
            ii、UpdatePost:更新i步骤中获取的Blog
            iii、GetBlogThreads:进入列表,读取主题

    5、删除:弹出窗口确认之后,删除指定Blog记录,并返回至Blog管理列表
        a、GetWeblogPost:获取指定的Blog记录,保证数据库有此记录,避免Cache剩下的影子记录
        b、DeletePost:删除指定的Blog记录
        c、GetBlogThreads:进入列表,读取主题

    6、查看:查看指定Blog,包括对该Blog的评论
        a、GetPosts:获取指定的Blog以及对该Blog作出的评论
        b、GetPostsByMonths:获取每个月的Blog统计数量
        c、GetPostsByMonth:获取当前月的Blog

    7、每一个涉及数据库的都会调用如下几个
        a、GetSqlConnection
        b、ConnectionString
        c、SettingsIDParameter
        d、GetSettingsID

    8、每隔一段时间自动运行的(5分钟以内)
        a、UpdateRecentContent

     

    相册业务分析

    1、打开主页
        a、未登录
            i、GallerySqlDataProvider
            ii、GetGalleries
            iii、GetPictures
        b、登录
            i、GetPictures

    2、从主页进入相册
        a、登录
            i、GetPictures
            ii、GetPictures

    3、从主页点击最新发布
        a、GetPicture
        b、GetPictureMetadata
        c、GetComments
        d、GetPictureSortOrder
        e、GetPictureData

    4、进入个人相册
        a、GetPictures6次
        b、GetRandomPostID
        c、GetPicture
        d、GetPictureData

    5、Add Picture
        a、CreatePicture
        b、CreatePictureData
        c、UpdatePictureCategories
        d、GetGalleries
        e、GetPictures
        f、GetGalleries
        g、GetPictureData

    6、新建分类
        a、GetRandomPostID
        b、GetPicture

    7、打开个人分类相册
        a、GetPictures
        b、GetRandomPostID
       
    8、增加子分类
        a、GetRandomPostID
        b、GetPicture

    9、删除相片
        a、GetPicture
        b、DeletePictureData
        c、DeletePicture
        d、GetGalleries

     论坛业务分析:

    1、发表新贴
        a、进入编辑状态
            i、GetForums
            ii、GetForums
        b、发表
            i、GetForums
            ii、AddPost
            iii、GetForumIDByPostID
            iv、GetForums
            v、GetForums
            vi、GetForumIDByPostID

    2、快速回贴
        a、GetForums
        b、AddPost
        c、GetForumIDByPostID

    3、打开帖子
        a、GetForumIDByPostID

    4、修改
        a、GetForumIDByPostID

     

     

    论坛:

    CommuntyServer.Discussions

    博客:

    CommuntyServer.Blogs

    相册:

    CommuntyServer.Galleries

    留言板:

    CommuntyServer.GuestBooks

     

    公共项目:

    CommuntyServer.Components

     

    CommuntyServer.Controls

     

    数据:

    CommuntyServer.SqlDataProvider

     

    版块组、博客分组

    CommuntyServer.Components.Group

    cs_Groups

    版块、博客

    CommuntyServer.Components.Section

    cs_Sections

    主题、线程

    CommuntyServer.Components.Thread

    cs_Threads

    帖子、随笔或者文章

    CommuntyServer.Components.Post

    cs_Posts

  • 相关阅读:
    亲们,知道你想更优秀,你做到这些了吗?
    Linux socket编程学习笔记(一):socket()函数详解
    关于typedef的用法总结
    c,c++里面,头文件里面的ifndef /define/endif的作用
    玩转ptrace
    文笔流畅,修辞得体
    定义和实现一个类的成员函数为回调函数
    《Shell 脚本学习指南 》 背景知识与入门 [第一、二章]
    使用ptrace跟踪进程
    FCKeditor 2.6.4.1配置
  • 原文地址:https://www.cnblogs.com/GmrBrian/p/1359920.html
Copyright © 2020-2023  润新知