Blog functions missing on 2.1.1

Topics: General, Troubleshooting, XSLT
May 8, 2011 at 4:17 AM
Edited May 8, 2011 at 4:28 AM

I installed the Community.blog Module and it seems to be missing some key functions:

The Function named:

  1. 'Composite.Community.Blog.GetCommentsCount' is not known.
  2. 'Composite.Community.Blog.XsltExtensions. is not known.
  3. 'Composite.Community.Blog.GetBlogFilterFromUrl' is not known.

 

Server Log:

  1. XSLT Function call markup for failed to parse ('The Function named 'Composite.Community.Blog.GetCommentsCount' is not known.').The markup was
    1. <f:function xmlns:f="http://www.composite.net/ns/function/1.0" name="Composite.Community.Blog.GetCommentsCount" />
      
  2. XSLT Function call markup for failed to parse ('The Function named 'Composite.Community.Blog.XsltExtensions' is not known.').The markup was
    1. <f:function xmlns:f="http://www.composite.net/ns/function/1.0" name="Composite.Community.Blog.XsltExtensions" />
      
  3. XSLT Function call markup for failed to parse ('The Function named 'Composite.Community.Blog.GetBlogFilterFromUrl' is not known.').The markup was:

 

<f:function xmlns:f="http://www.composite.net/ns/function/1.0" name="Composite.Community.Blog.Entries.GetEntriesXml">
  <f:param name="PropertyNames">
    <f:paramelement value="AllowNewComments" />
    <f:paramelement value="DisplayComments" />
    <f:paramelement value="Content" />
    <f:paramelement value="Tags" />
    <f:paramelement value="Author.Picture" />
    <f:paramelement value="Author.Email" />
    <f:paramelement value="Author.Name" />
    <f:paramelement value="Author.DisplayEmail" />
    <f:paramelement value="Teaser" />
    <f:paramelement value="Date" />
    <f:paramelement value="Id" />
    <f:paramelement value="Image.Id" />
    <f:paramelement value="Image.Title" />
    <f:paramelement value="Title" />
  </f:param>
  <f:param xmlns:f="http://www.composite.net/ns/function/1.0" name="Filter">
    <f:function xmlns:f="http://www.composite.net/ns/function/1.0" name="Composite.Community.Blog.GetBlogFilterFromUrl" />
  </f:param>
  <f:param name="OrderByField" value="Date" />
  <f:param name="OrderAscending" value="False" />
  <f:param xmlns:f="http://www.composite.net/ns/function/1.0" name="PageSize">
    <f:function xmlns:f="http://www.composite.net/ns/function/1.0" name="Composite.Utils.GetInputParameter">
      <f:param name="InputParameterName" value="BlogEntriesCount" />
    </f:function>
  </f:param>
  <f:param xmlns:f="http://www.composite.net/ns/function/1.0" name="PageNumber">
    <f:function xmlns:f="http://www.composite.net/ns/function/1.0" name="Composite.Web.Request.QueryStringIntegerValue">
      <f:param name="ParameterName" value="p" />
    </f:function>
  </f:param>
  <f:param name="IncludePagingInfo" value="True" />
</f:function>

Can anyone provide me with these functions so I can manually add them?

EDIT: I believe this is related to the same problem I was having with the C# Functions in this thread: http://compositec1.codeplex.com/discussions/256438 so probably not a BLOG related issue.

May 10, 2011 at 9:53 AM
Edited May 10, 2011 at 9:56 AM

atomiton,
Do you have Composite.Community.Blog.dll in bin? Did you experienced any errors during install? Do you have required "write" permissions?

May 10, 2011 at 12:44 PM

atomiton,
I've checked your website.. looks like Composite.Community.Blog was here, but than was uninstalled. Also.. this function code is missing: FactorsGroup.Data.ArticleList.cs... which is caused this problems.

In order to fix things what I did:

1) Delete Community/Blog.aspx page (it's have no content, but page type is Blog)
2) Layout =>  Page Types = > delete "Blog" page type
3) Deleted FactorsGroup/Data/ArticleList function (Functions => C# functions)
4) System => Packages => Available packages => Composite.Community - install Blog package
5) Create Community/Blog.aspx, page type is Blog.  

After this manipulations blog and functions are worked fine.

So problem was in this FactorsGroup.Data.ArticleList.cs.  

 

Jun 2, 2011 at 11:53 PM

Sorry I didn't reply earlier I had moved on to other parts of the site and had gone on an extended vacation. I did what you suggested. It WORKS! That's strange, though... that an inline C# Function would cause that kind of havoc on the package. 

A question about the Blog... it has some really good functionality in the Blog Renderer that I'd like to re-use for the Article part of the site (like Tag Clouds, dynamic rendering, etc.) Is it available as open-source?

I noticed that the Blog page also  possible to change the Title of the page dynamically. I'd like to implement this on other parts of the site (and I'd also like to alter the Blog's Title rendering) Where's a good place to start?

Jun 3, 2011 at 7:29 AM

atomiton,
All free packages from Composite are open source and it's sourcecs available for download here http://c1packages.codeplex.com/

To change title for the page dynamically: check XSLT functions. All you need is place desired value for title tag.
Example:

  <xsl:template match="/">
    <html>
      <head>
       <title>
          <xsl:choose>
            <xsl:when test="/in:inputs/in:param[@name='CustomTitle']/node()">
              <xsl:copy-of select="/in:inputs/in:param[@name='CustomTitle']/node()" />
            </xsl:when>
            <xsl:otherwise>
              <rendering:page.title />
            </xsl:otherwise>
          </xsl:choose>
        </title>

Jun 29, 2011 at 9:06 PM

Thanks for the reply aeont. I did it a different way, as I wasn't sure where the "rendering" namespace was. 

 

This worked, though:

   <xsl:if test="$isBlogList='false'">
      <title>
        <xsl:value-of select="/in:inputs/in:result[@name='GetEntriesXml']/Entries/@Title" />
      </title>
   </xsl:if>