ContributionsMost RecentMost LikesSolutionsRe: Cache tuning - key-specific TTL settings? Hello liaodm, I will try to answer all you questions in order, but if I miss anything or you want more information, please feel free to reply with more questions. tl;dr; Configurable in ms only at the user/app level. Caches serve stale data and invalidating the cache on events is really hard. ____ Professional Services is able to configure the time to live after write and after read to millisecond precision. The appcache and usercache can have two different timeout values, but every entry will have the same timeout in the respective caches. So you can set usercache timeout to 1 hour and app cache to 24 hours, but you cannot set an individual timeout for each entry. However, we have talked about implementing this since it would be so useful. Unfortunately there is a lot of work on the backend to make it possible. Feel free to create a product suggestion for this functionality http://community.lithium.com/t5/Product-ideas/idb-p/Lithium_Ideas. Right now there is no way to invalidate an entire cache or cache key. The method you suggested is the best approach for now. You mentioned invalidating the cache based on entity/community events. This would be fairly complicated to do but might overly complicate the API. We would need to figure out a way to specify which event and entities should be watched to invalidate the cache key. When using a cache, you are trading real-time information for performance. Unfortunately you cannot have both. In other words, using the cache presents a risk of serving stale data. However, often this is ok for most usecases. Because of this trade off, the caching should only be used to store results from expensive operations. A few examples are The result of processing 250+ messages The result of processing every topic from a board in an O(n^2) algorithm The result of processing All of a users friends, friends, friends (3 levels of graph traveral). A few examples for when NOT to use the cache Storing a single users profile info and avatar Storing the 10 most recent messages from a board If you are using 5 or more rest api calls to render a component, you should considering using the cache, unless the information needs to be real time. I hope that answered everything (with a few useful tangents). Again, please feel free to respond with any questions, Re: Hide number of posts in page titleSorry about that, tinyMCE added a url encoded non-breaking space to the end of the url. I fixed the link in my original post and am adding it here for good measure. http://lithosphere.lithium.com/t5/Pages-and-layouts/Change-the-community-page-title-without-impacting-other-pages/ta-p/72218Re: Hide number of posts in page title I am sorry if this does not answer your question, but I have seen this issue before. The problem I saw was with the formatting of the date range in the search query. Freemarker tries to do number formatting that can mess up query parameters. numberVarialbe?int => 1,389,613,718 - 1,390,218,518 // broken numberVariable?c => 1389613718.664 - 1390218518.664 // broken numberVariable?int?c => 1389613718 - 1390218518 // correct Otherwise, would this help? http://lithosphere.lithium.com/t5/Pages-and-layouts/Change-the-community-page-title-without-impacting-other-pages/ta-p/72218Hard coding the title for that node might work. Re: Q&A Moderation Hey jlutterloh, Two seperate parts: Pre-Moderation: posts are not public until they have been approved by a moderator. We can do that! Talk to professional services about using our moderation tool. Permissions: Our current permission system relies on inheritance from the board. Therefore every message inside the board will have the same "read" permission. This would require a custom permission to be introduced into core code for every community which applies the logic you requested. Possible workflow: [User Posts Message] --> [Message Is Answered By Mod] --> [Moderator Approves Message] --> [Message Is Now Public] Note: step 2 and 3 should probably be combined into a single step (answer then approve), but you may want the answer-ers to be product experts and the moderators to be "legal" experts. Question: Is this really what you want to be doing? This might make sense if it is mostly a support community; But this approach seems to take the community aspect out of, well... the community. It would become an online call-center rather than a bunch of product users helping eachother out with the added guidance of employed product experts. I am not saying that this is a bad approach, I just want to make sure that this really what you want and what is best for the community. Let me know if you have any other questions, Re: REST API returns incorrect solutions count Hello Dromanchik, I was able to reproduce this on my dev site. It appears that this is due to caching of REST API responses. Please open a support ticket requesting information about maxTimeToLive (maxiumumTime) for the recentSolvedThreadCountCache. Note that -1 means that cahced values never expire. If Lithium support changing this config does not solve your problem, please open a support ticket and we will find a work around for your caching issue. Re: Styling Options menus on the search page Hey rwm, We provide a loader util allows you to add a function to be run after the page has been loaded. LITHIUM.Loader(function() { /*do something*/ }); Let me know if you have any other questions. Re: Rest API call issues for Labels in Forums You are correct, there is a bug with filtering forum threads based on labels. This is due to a lot of special handling of search based legacy code. However, are you sure that you need the entire thread? It sounds like you are making a list of the topics (root messages) with specific labels. If this is the case, you can filter boards/topics on labels (notice the filters in the blue box at the top). Let me know if you need a list which includes the entire thread instead of just a list of root messages and we will continue to look for another way. Re: Rest API call issues for Labels in Forums Thanks for asking. I will take a look at this a little later today. Let us know if anything changes. Re: Hi,Has anyone implemented a support ticketing system like Lithosphere? This is an iteresting question. Sorry for the deluded response, but... Is there some reason a board will not accomplish your goals? (Community participation in support cases) Is there some reason Lithium's current support specific products do not meet your needs? Check out Lithium's Social Support Services to see if we have already built the product you need. Otherwise, let us know what you plan to do with the custom ticketing system and we will work with you to make sure you end up with exactly what you need! I look forward to hearing back from you, Re: json2.js Hey jlutterlog, We have a Loader util which allows you to add functions to be run as the page finishes loading: LITHIUM.Loader(function() { //do something }); David