Forum Decorum?

I am a long time Apple user and have watched these discussion groups for some time, even if I haven't yet had the need to post.
Unexpectedly, my first occasion is not about a technical matter but about the discussions themselves. I had noticed a tendency that was crystallized in a recent thread that I was following with interest in this forum.
It seems that a user (manfromoz) posted what appeared to me to be a legitimate issue in the iTunes for Windows forum. Perhaps because the thread title was not overly complimentary, a host locked the thread prematurely.
So the user questioned that in this forum, which we are led to believe is the appropriate place, in a thread that does convey dissatisfaction with the attitudes of some users, but that I think was legitimate feedback about the discussions, and constructive commentary. Apparently he was then barred from being able to respond elsewhere to users that had posted replies in the locked thread. When expressing dissatisfaction about that here, his thread here was locked as well! (It says "archived", but the effect is the same.)
I believe that the user had many good and valid points to make. Other posters have claimed that the strictness observed in Apple Discussions is the same as that applied by other major IT companies in their forums. As someone with a lot of experience with the forums of numerous other companies, I beg to differ. As one example, here is a cut-and-pasted extract from the moderator's reply on a Microsoft forum, responding to a post that began with "I'm sorry for the rant, but..." (an intro that here would be grounds for blacklisting):
"+Do not worry about apologizing ... I always welcome the feedback, good and bad, so that those who make the decisions ... know where the dissatisfaction is. Not everything ... can be accommodated, but we still need to know what is perceived as 'good' and 'bad'+."
In the past I would not have thought that I would say this, but it appears that Apple has something to learn from Microsoft and others.
The preface for this forum's home page states that it is "for general constructive feedback about how the Discussions system is operating or how it may be improved". A start on how it may be improved could be to stop alienating so many people. Manfromoz and others have tried to give feedback on what is wrong here, and hence how it may be improved. However it seems that we cannot suggest that something may be wrong, even when asked how it may be improved.
Here is my version of how Apple Discussions can be improved: stop conducting it in a manner reminiscent of how small schoolchildren are treated, and a manner that is making me ashamed to be part of the Apple community.

ManfromOz: You're welcome.
*_Barry Hemphill_*:
Barry Hemphill wrote:
you appear to have extrapolated from a specific instance and generalized that instance to a conclusion and "suggestion."
If that's how it appears, it was not the intention, nor is it correct. I opened by saying that I had "+noticed a tendency that was crystallized in a recent thread+". That was meant to convey that I had noticed the tendency aside from the "specific instance" that exemplified the problem. I picked that instance as it was one of the most recent, and it summarized a number of issues that others had reported. I did not think it either necessary or appropriate to quote a long list of other examples. I also said later in my post that "+Manfromoz *_and others_* have tried to give feedback on what is wrong here, and hence how it may be improved+".
Barry Hemphill wrote:
To hold Microsoft up as an example to this community is, in short, a bit bizarre. The Apple user-to-user forums are thought by many to be a model for an effective on line community.
With all respect, Barry, I think that your comment strikes at the core of one of the issues that ManfromOz brought up. I will not dispute the second sentence, but aside from what he called the "loyalists", who are the many? It certainly does not include yours truly (a long-time Apple user), several people I know, and quite a number of posters in Apple Discussions. We may think that it's quite the opposite, but of more relevance is the fact that we are expressing an opinion that is just as valid as yours. I think that one of the points being made, before I jumped in, was how many of us are being told that something must be so because it is their opinion, while at the same time negating or dismissing anything that resembles a dissenting opinion. Not quite "the American Way", in my opinion.
Barry Hemphill wrote:
I am not an employee of Apple, so I can say whatever I want (as long as it does not violate the forum rules).
One of the main issues had been how those rules are applied arbitrarily. Regarding you being able to say whatever you want, I think the reply from capaho addresses that - please see my response below.
capaho:
Thank you for your input.
capaho wrote:
some members appear to get more leeway in what they can post than others.
Precisely. I get the impression that the leeway is granted to defenders of the faith. I believe ManfromOz called it a "class system" (of users). Not particularly democratic.
capaho wrote:
the other side of it is, unfortunately, there is no shortage of childish behavior in the forums, either.
Yes, I agree, though the presence of criminal or drunken behavior does not mean that everyone should be treated as a criminal or drunk.

Similar Messages

  • MSI Forum Lock Ups

    Hey guys wondering where i have been the last couple of days??...no, you guessed wrong i was not with my girlfriend (well at least no during daytime :D )
    I was trying to LOGIN IN THE F*****G FORUM :O  ?(
    Markoul
    p.s. At least it seems now we are going to have Avatars and also we have got the old forum back  :P

    Hi,
    First of all thanks to all for the help, and CJLittle...LMAO !  My car is a Scooby and a nice blue paint job !  Believe it or not they assured me all this would work.. I bought it in one package and even questioned it.  Also to be fair up until then they had always been very good... shows they have no zero about 3200XP 200 fsbetc...  When I went back with the power supply and told them they changed it out and let me off on the extra money it should have been.
    The crashes are as follows :-
    [list=1]
    Locks up after random amounts of time in games, sometimes dont even get to load it up at all, other times I can play 2 hours.  When the games lock up usually there is a high pitch squeal and can only get out of it by reset or power off.
    I cannot install Zone Alarm Pro or Agnitum Outpost are 2 anyway (there are others) these just come up with the installer screen and hangs there, I have to go to Task Manager to close them down, unlike the lock up in games.
    The cooler is the Coolermaster Jet... and the temperature is more than acceptable (right now is 44 C) so I cannot see that at all being a factor.
    leds are on on the d bracket when it locks, I did not know of this function and will check it out. Thanks for that tip.[/list=1]
    Question from me: would the 2700 RAM cause these lockups ?  I would have thought it would just not work at all ?  If this is possible then I will go and change out the RAM as tuning it down to 166 (if it is possible) does not appeal to me !  But yes it may show what the problem is.
    Thanks again, will see what happens...

  • MSI Forum HQ USB flashing tool!!!

    Hi guys,
    We the forum team have developed  a new way of flashing.
    You no longer need a floppy or anything, just an USB-stick.
    The tool has been tested together with MSI and as far as we have done our testing, there are no problems at all.
    As long as the USB-stick is FAT or FAT32 formatted!
    However, flashing is allways risky, so if it goes bad it's your own fault, but that goes for all flashing you do.
    This tool is intended to flash MSI retail motherboards and laptops,
    but if needs you can use any other machine to prepare the necessary stuffs and the USB stick there,
    before move the USB stick to the msi product that you want to flash.
    The way it works is simple: Download the package and download the BIOS from the MSI website that you want to flash.
    The rest is straight forward.
    Make sure that your board is set to be able to boot from USB.
    So turn on USB Legacy Support in the BIOS.
    Boot and press F11 to get the boot-popup and select your USB-device to boot.
    (some boards have a different key, like K8N Master uses ESC for the boot-menu)
    What ever you do, make sure you read all warnings!
    The forum nor MSI is responsible if it fails for you.
    Nor is this software supported by MSI technical support!
    Please report problems/buggs if you find them.
    currently supported OS ( both 32 & 64 bit):
    Windows NT, Windows 2000, Windows 2003, Windows XP, Windows Vista, Windows 7 (also Windows in Virtualbox under Linux!)
    (all kind of versions)
    NOTE: If you are having problems getting your USB device to boot correctly, you may need to format it correctly as the geometry data may be incorrect. You can do that by pickup option "Fix My USB key" from the Tool or by using >>> THIS <<< tool here! For future usage you can skip this step, it need to be done only once if your stick need adjustment.
    This topic is for discussion of and help with the USB flash tool only. If you have a problem with your PC and need help then do not hijack this topic, please start your own new topic in the correct area of this forum!
    NEW! >>> Read the comprehensive user guide here! <<<
    The download links are listed below:
    https://www.dropbox.com/s/yu8imcr1tsopm24/MSIHQ%20Tool%201.26h%20Installer.rar?dl=0

    Quote from: max-sever on 25-May-07, 01:29:21
    Hi!
    I'm have problem with antivirus program too.
    Dr.Web
    C:\Temp\x863\bossmsi.exe - &#1080;&#1085;&#1092;&#1080;&#1094;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085; Trojan.Blakhal
    Kaspersky Anti-Virus
    bossmsi.exe - &#1080;&#1085;&#1092;&#1080;&#1094;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085; Backdoor.Win32.Iroffer.af
    This file is a antivirus testing program?
    Hi Max,
    "This file is a antivirus testing program? "
    yes, the latest version accidentally really become a test for any AV....
    in latest 1.13b Avast! no more report false positive,
    but all others AV software starting reporting a different false positive results:(all AV listed didn't report false positive problem in a provisional version) Avast! was fixed and no more report the false passivity and passed, but all other AV software started to be a lot confused...
    Kaspersky Anti-Virus - Proactive Defense Warning: Riskware detected.
    Kaspersky Anti-Virus 2nd ID - Backdoor.Win32.Iroffer.af
    Dr Solomon's:  probably found Zafi.D.Virus
    Symantec: Bloodhound.Overpacked / * Overpacked when a potentially unknown virus is found using Symantec Bloodhound technology */
    Panda: Win32:Trojan-gen.(Mytob.U.Mod)
    Mcafe: Worm.W32/Bakain
    Dr.Web: Trojan.Blakhal
    Bit.Defender: Trojan.JS.Obsq.Gen
    Just to clarify one more time, all things listed are false alert coused and exist in latest version only due Avast! fix.(1.13b)
    didn't continue to test with rest of AV...
    only Avast! and NOD32 report no problem detected.
    in 1.13a all false positive listed above doesn't exist, but only Avast! report false positive.
    Hoverer, the wave of false positive mess has been resolved along with Avast! false positive as well.
    New version is ready, 1.13c:
    - fixed false positive wave which confusing most of AV software. (all AV do not report any problems anymore)
    - fixed 3 minor bugs:
           * after finished work the tool do not quit normal as expected and hang instead, that happend in x32bit OS only when used has been asked for reboot and answered with "No". e.g. in described specified case.
           * 4th mainboard filter report positive results in some Biostart mainboard and this cause tool to false ID some Biostar board as MSI one.
           * added missing drive letter as USB key choice ("I")
    Download location in a the 1st post of this topic.

  • MSI Forum Wallpaper Design Contest

    Prize:
     The winner will be rewarded with a soon to be launched Z87-GD65 GAMING motherboard.
    (check it out at http://game.msi.com)
    How:
     Design and submit a wallpaper in this Forum topic.
     (If you don't have an MSI Forum account you need to register first here, please read how to add pictures to forum posts below)
    Contest Rules:
    -   Submitted wallpapers must be at least 1920x1080.
        (Preferably JPG or PNG formats, 16:9 or 16:10 ratio, max 2560x1600)
    -   You can post as many unique wallpapers as you like until the contest ends at June 28th 18:00h (GMT).
        (when we will lock this topic).
    -   MSI will select and announce the winner, one week after the contest has ended.
    -   The winner will be contacted by PM and registered email.
        (if we can’t reach the winner within one week, we will select a new winner)
        (so please check your PMs/Email regularly when the contest has ended)
    -   MSI Forum Rules and MSI Forum Terms also apply to the Wallpaper entries, so keep it clean.
        (no obscenity/vulgarity/copyrighted material).
        MSI reserves the right to remove entries when we think the entry is inappropriate.
    -   By submitting your wallpaper entry to this forum you give MSI the right to use/upload/print
        any wallpaper entries for marketing activities during or after this contest.
    Hints:
    -   Upload your wallpaper(s) to an image hoster  (e.g. photobucket, imageshack, etc) or other online location with unrestricted access.
    -   Please use the following tags to add your uploaded wallpaper to your forum post.
       Code: [Select]
    [img width=760]http://url-to-your-wallpaper-goes-here.jpg[/img]    (“width=760” added for proper forum scaling, does not affect original image). More info here.
        (Please Note if you also want to use the URL tags you need at least 2 posts in the forum (=anti spam measure))
    -   Use high quality pictures. As a starter you can use any pictures/logos from http://media.msi.com or
        other MSI websites (http://www.msi.com, http://game.msi.com, http://oc.msi.com)
    -   Increase your chance of winning by:
          1.) Using the MSI Dragon image
          2.) Using the MSI Gaming theme or the MSI OC theme
          3.) Get a lot of users to share your Forum post on Facebook
               (everyone can share your Forum post on Facebook by clicking the button in your forum post).
    Good luck everyone.

    Hello everyone,
    Here is my submission for the contest with 7 wallpapers (I know it's a lot... but I was inspired so... ^^ )
    For the 2 first ones, I wanted some classic good looking wallpapers with the MSI Dragon being the center of it, with some high quality effects. So here they are, a bright version and a dark one.
    Hope you guys like it.
    For the 5 next ones, I tried something really different. More in an advertising campaign way. Some minimalist looking wallpapers, trying to focus on simple things, no shadow effect. Art on it's purest form, simple but well thought.
    I asked myself why people would chose MSI instead of another brand, so I figured the people who already know that. So I first started with the "Gamers know why" because it's obvious, then went to an iconic e-sport legend ("Legends Know Why") Mr. Patrik 'cArn' Sättermon, I think he and the Fnatic team clearly represent why people should chose MSI. So I used the Fnatic team for the third one "Winners know why", they are clearly one of the best multigaming team of the world and are sponsored by MSI for quite a few years now. (The picture is from the IEM 5 For the 4th one, I noticed that I start to see more and more MSI laptops around me, at college etc, so I thought that "The World knows why". And for the last one I tried to represent the spirit around the MSI Dragon and the whole Gaming part of MSI, that feeling of POWER. So I tried to make that last one a combination of the 2 styles. Representing the Power coming out of the Dragon... in a minimalist way. So here's "Unleash the Dragon". I hope I succeed. And I really hope you like my work. It took me several hours to complete that "campaign" and I'm really proud of it. I used the "#" system in it because as I made it as an advertising campaign, I thought it would be nice if everyone could share that spirit easily.
    The picture of cArn and the one of the Fnatic team are from the internet, the rest comes from my personal pictures (textures and such) and of course everything is homemade.
    Cheers.

  • When I login to a forum, it only holds true for the tab I currently have open

    Until recently, if I logged into a forum, I could open pages within that forum in multiple tabs and still be logged in on every tab. Now I can't, a new tab requires me to login again. I have always used "always start firefox in private browsing mode" and have made no changes in the settings.

    Your plugins list shows outdated plugin(s) with known security and stability risks.
    *Java Plug-in 1.6.0_13 for Netscape Navigator (DLL Helper)
    Update the [[Java]] plugin to the latest version.
    *http://java.sun.com/javase/downloads/index.jsp#jdk (you need JRE)

  • FF doesn't work anymore, and seeing this forum through IE6 makes me hate things

    == Issue
    ==
    Firefox is crashing or closing unexpectedly
    == Description
    ==
    This is a direct reply to http://support.mozilla.com/en-US/forum/1/594409 because I cannot answer to it. I selected "I have the same problem" among the checkboxes and it tells me "YOU MUST SPECIFY A POST SUBJECT". I tried all the checkboxes and the problem persists. I'm on IE6 because FF is out the window (read on) and to be honest, this entire domain loads ''poorly'' through here (no suprise, but guys, people come here to switch FROM 6.0, what are they going to do if they only see basic html unless they refresh twice per page?)
    Basically, the response:
    Exact same ''thing'' here. Today, suddenly and for no apparent reason FF and Opera crashed permanently at the same time. I could not start them, nor reinstall them, after reboot or in failsafe mode. Firefox installer v3.0.7 AND v3.6 both crash on 0% extracting process and die. I don't know what to do - my IE is a 6.0 version for design testing purposes - it doesn't even store cookies (and installing a newer IE just won't happen).
    <blockquote>edited by a moderator - eh
    https://support.mozilla.com/en-US/kb/Forum+and+chat+rules+and+guidelines</blockquote>
    == Firefox version
    ==
    3.0.7 and 3.6
    == Operating system
    ==
    Win XP SP3
    == Plugins installed
    ==
    Firebug (latest). Nothing else that didn't come with the box.

    WonderWoofy wrote:I think you may find relevant information here.  I ahve seem many of these threads in the forums lately.  Are you dual booting w/ another operating system... in particular, one that uses localtime for the hardware clock (and there is only one that does this).
    Thanks I'll look at that entry. Still I'd like to point out that this page clearly says that the timezone is to be set in rc.conf, which is a bit confusing. I must've followed this guide to get to my current configuration. I am dual booting with multiple other systems (xubuntu, win7, puppy, crunchbang) so from what I've read win7 might be the problem, but I haven't started it since i installed arch and my time has been off from the start.
    Should I simply use NTP now that pacman is working again?
    Thanks
    Last edited by miek (2012-09-03 17:41:56)

  • Forum timeouts and server errors

    In the last two days I've been experiencing intermittent problems with the forum: when I click a link to a thread or post sometimes I can't get it to load. I have to wait about a minute and try again. The same issue occurs when I try to submit a post.
    I'm not maxing out my internet connection, other websites are working fine.
    Should I post this to the ML?

    Wait and see if anyone else is experiencing it. I get it from time to time, but suspect my conection is responsible more often than not.
    I also haven't noticed an uptick in frequency over the last week; nor does it happen when trying to submit a post, just when browsing*
    * Having said that, my browsing rate is probably similar to your posting one...

  • Can't see who has replied to the thread in the forum, its pointess?

    What's the point in creating a system where you can't see who has replied to the thread? Its absolutely F**CKING pointless? Does anyone at Adobe have any brains or are they all sitting with their heads up their backsides?
    Surely before you release such garbage you test for these very simple issues, right?
    osgood_(NOT M Golding) If anyone at Adobe is monitoring this please get my screen named changed to what it was previously as well.

    It needs a 'latest reply' on the posted list page like the old version otherwise you have no idea if anyone has replied to the post or not without opening it.
    Latest reply: May 3, 2014 2:17 AM by . osgood_
    The line below is not that necessary in the order of priority, which for all intense and purposes is quite useless. I don't really care about how long ago something was posted or where it was posted but an indication to show 'updated' posts and by who is vital.
    9 minutes ago in Dreamweaver support forum
    Why do we even need 'Dreamweaver support forum'. We already know that's where we are! I guess a selection of posts from other forums may appear in a 'general' postings list somewhere, but who really cares - if I'm asking a question related to DW that's the forum I'm going to, not a general list as I don't care a monkey knackers what's been posted in Fireworks or InDesign or Illustrator. If I did I'd go to those forums.
    If you are tracking several postings it is going to become hugely annoying for both the person who has asked the question and the people helping the original poster as many replies will potentially go unnoticed and not resolved.
    And what's with the silly horizontal scroll bar being created for long lines of text? That's annoying too.
    Plenty of teething issue you need to get your head around over the next few weeks.

  • How to search a specific topic in a forum?

    How to search a specific topic in a forum? who can offer me a solution. I'm really appreciate it.

    Enter something in the box next to the words Advanced Search at the upper right and click on the button to display a list of search hits. Then, in the box to the right of the list, click on the word help to bring this Search Help and Tips page up:
    http://search.java.sun.com/search/java/help.jsp

  • Did you know... (about dictionary of this forum)

    Did you know, that default spell checker (when writing a message on forum) does not recognize words like: Microsystems, JavaBean, NetBeans, JDK, SDK, EE (used frequently on J2EE forum), Servlet, JSP, EJB, but knows words like SE (for J2SE) and Microsoft.
    (Microsoft ???!!!)
    It knows about Java but not about java (case does matter?!)
    When I wrote feedback about annoying horizontal scrollbar when viewing some of the forums with FireFox (for example Java EE SDK forum),
    I noticed that it also doesn't know about firefox, netscape, ie,
    but knows about Firefox, Netscape and IE.

    Proper names are known. But product names will not be - nor will acronyms.

  • [Forum FAQ] Schedule multiple versions of System Image Backup in Windows 8.1

    As we known that there is no UI for user to configure Image backup in Windows 8.1, this is a guide for your to schedule multiple versions of System Image Backup.
    Step 1: Create a task to schedule an image backup with following command:
    SCHTASKS /Create /SC WEEKLY /D MON /TN WeeklyFullBackup /RL HIGHEST /ST 13:00 /TR “wbAdmin Start Backup -backupTarget:F: -include:C: -allCritical -quiet”
    Step 2: Schedule a robocopy to backup the saved image with BAT file:
    Please create a new folder (in this example, the new folder is e:\test2) to save your multiple copies of image backup:
    Write following batch file to copy backup and rename with backup date:
    *****************BAT********************
    @echo off
    robocopy e:\test1\ e:\test2\ test.wim
    ren e:\test2\test.wim  test_%date:~10,4%%date:~7,2%%date:~4,2%_%time:~0,2%%time:~3,2%.wim
    NOTE: e:\test2 is my location to save multiple copies of image backup; e:\test1 is the location I create the system image backup.
    This BAT can also help to rename the copy of image backup with date and time like below:
      3.  Set up a basic task in Task schedule:
    Note: please make sure the time you configured follows the time you set for image backup in Step 1.
    Action -> Create basic task (Name you task) -> Trigger (Set how often this task should be run) -> Action (Start a program) -> Under Program/script, point to your bat file you create in Step 2.b -> Finish
    At the end, you can know more about SCHTASKS and Robocopy via following links:
    Robocopy
    http://technet.microsoft.com/en-us/library/cc733145.aspx
    Schtasks
    http://technet.microsoft.com/en-us/library/cc725744.aspx
    Welcome to your feedbacks.
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    Hi,
    Thanks for posting in Microsoft TechNet forums.
    I will try to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience.
    Regards,
    Kelvin Xu
    TechNet Community Support

  • Logical AND not working in the forum search box

    Logical AND of search terms does not seem to be working in the MSDN forum search box. Example: I go to the Project Customization and Program forum and type the word
    subproject
    in the search box. I get a lot of hits. So now I try to reduce the number of hits by typing
    subproject AND read
    Surprisingly, I now get MORE hits than before.   The same thing happens if I enter
    subproject & read
    Do the MSDN forums not support the standard logical AND combinations of search terms?  If they do support these combinations, what is the syntax?
    Jim
    ...Jim Black

    Cheers, you're welcome.
    There's a thread going in the Suggestions forum with plenty more requests for updates to the search tool. You may want to add your voice there too:
    http://social.technet.microsoft.com/Forums/en-US/9cf8ad4b-5111-4f84-9809-99cd8f1b7152/make-the-forum-search-tool-useful?forum=suggest
    Don't retire TechNet! -
    (Don't give up yet - 12,950+ strong and growing)

  • [Forum FAQ] A content management tool with dashboard based on SharePoint List

    1. 
    Scenario:
    The SharePoint OOTB List has saved us a lot of time on managing mess data. It provides three forms to create/view/edit items, the ability to save the views we want with some specific filtering and sorting condition, versioning for easy restoring, and we
    can make it advanced with workflow contains the specific business logic.
    However, if there is a need for better user experience, interacting with the public APIs and a bit of script to customize the web page would be required.
    Suppose there is a requirement like this:
    We need a content collection tool which collects ideas from contributors, the newly ideas will be reviewed by reviewers.
    We may need to filter the list in a convenient way, get the wanted result with the data from the list and display in a chart or rank list. 
    We can add some buttons in Metro style to display the counting result of the data from the list dynamically. When we click them, the list will be filtered and sorted to display a friendly set of items. Also, we need to display a trend of the mess data graphically
    in some beautiful charts.  If we want to find out some outstanding contributors, top contributor board would be more comfortable than the top N items in the OOTB list view.
    The page would look like this:
    2. 
    Introduction:
    Engineers will come up with some ideas in the daily job and write a content to enlighten others. Reviewers will help to review ideas or contents and publish the contents if qualified.
    The complete process looks like this:
    As we can see, only the approved idea can be written as a content and only the approved content can be published.
    2.1
    How it works
    We build the whole tool in one page. All ideas and contents will be saved in a custom list. This is how it looks like:
    There are three parts in this page:
    1       
    2       
    2.1       
    2.1.1       
    Top menu
    The top menu contains three elements:
    A Drop Down menu for filtering data by team, it will refresh the other two parts with the filtered data:
    A hyperlink “STATISTIC” links to a PowerBI report whose data source is the custom list.
    A hyperlink “FEEDBACK” for collecting feedbacks:
    The feedbacks will be saved in another list:
    2.1.2       
    Information menu
    This part will display the calculated data retrieved from the list within tiles, chart and ranking list.
    The tiles can be clicked to filter and refresh the list view.
    2.1.3       
    List view
    A list stores all ideas and contents with the properties needed. It can be filtered by the Top menu and Information menu.
    The customization on the OOTB custom list template makes it more powerful and more suit for this scenario:
    1. An item leveled comment feature (based on OOTB Tags & Notes feature) for other users make comments to an idea or content:
    2. Title column: When there is no attachment in the current item, it redirects to the default DisplayForm page. If there is, it will open the attachment (usually a .docx file) in Word Online in a new tab.
    3. ECB menu: Add some custom shortcuts for popular actions:
    4. A hyperlink column stores the hyperlink points to the website where the content is published to.
    3.   
    How to achieve it
    This solution will be hosted in SharePoint Online environment, so we do all the job using JavaScript, REST API and Client Object Model.
    The Drop Down menu, tiles, rank list are generated with some HTML+CSS.
    The Trend Chart, we take advantage of the Combo chart in the Google chart library.  
    The list view is hosted in a <iframe> which can be easily filtered and refreshed by just passing a generated URL with query string.
    For the customization on the list view and the ECB menu, JSLink with Client Object Model would be OK.
    3.1
    Specific to every part
    3.1.1       
    Top menu
    3.1.1.1 
    Drop Down menu for retrieving filtered data and refreshing the display of the related controls
    When user selects a team here, there will be a request sent out for retrieving items of the list. By default, the limit is 100 when using REST API to get list items, so we can append a “$top=1000” to require more items from server.
    Code snippet like this:
    $.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items?$top=1000",
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose" },
    success: function (data) {
    console.log("getListItems succ");
    console.log(data);
    error: function (data) {
    alert("getListItems error");
    //failure(data);
    Then we will get the “data” as a JSON format string, it contains all the values we need from the list:
    We can get the values we want like this:
    //get item Count
    var arr = [], len;
    for(key in data.d.results)
    arr.push(key);
    len = arr.length;
    for(var ii=0; ii<len; ii++)
    var team = data.d.results[ii].Team;
    var month = data.d.results[ii].Month;
    As we need to know the counts of each type of ideas or contents, we use an array for saving the counters:
    //ary to store all counters for tiles: all/pendingIdea/pendingContent/my/approvedIdea/approvedContent
    var aryAllCounters = [0,0,0,0,0,0];
    for(var ii=0; ii<len; ii++)
    //get pendingIdeaCount
    if(data.d.results[ii].Statuss === 'Pending')
    aryAllCounters[1]++;
    Once all the numbers are ready, we can do the refreshing.
    As the list view page is hosted in a <iframe>, all we need to do is passing a constructed URL with query string:
    url_team = URL + "?FilterField1="+FIELD_MYTEAM+"&FilterValue1=" + sel_val;
    $iframe.attr('src', url_team);
    3.1.1.2 
    Hyperlink for popping up a dialog to collect feedbacks
    The feedback dialog hosts another page which contains two buttons and one text area.
    The HTML code of the FEEDBACK button:
    <a id="feedback" href="#" onclick="javascript:openDialogBox('../SitePages/Feedback.aspx');">FEEDBACK</a>
    The openDialogBox() function:
    function openDialogBox(url){
    var options = SP.UI.$create_DialogOptions();
    options.url = url;
    options.height = 130;
    options.width = 425;
    options.title = "Feedback";
    SP.UI.ModalDialog.showModalDialog(options);
    In the Feedback.aspx page, when user click submit button, we will save the content of the text area into the feedback list:
    function addListItem()
    this.clientContext = new SP.ClientContext.get_current();
    this.oList = clientContext.get_web().get_lists().getByTitle('Feedback');
    var itemCreateInfo = new SP.ListItemCreationInformation();
    this.oListItem = this.oList.addItem(itemCreateInfo);
    //set person field
    var userValue = new SP.FieldUserValue();
    //userValue.set_lookupId(this.currentUser.get_id());
    userValue.set_lookupId(_spPageContextInfo.userId);
    oListItem.set_item('Provider', userValue);
    //Sets the specified field value
    oListItem.set_item('Title', str);
    //datetime field
    var currDate = new Date();
    oListItem.set_item('Submit_Time',currDate);
    oListItem.update();
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded_add), Function.createDelegate(this, this.onQueryFailed));
    3.1.2       
    Information menu
    3.1.2.1 
    Tile shortcut
    In the click event of the tiles, the code will pass a generated URL with query string to the <iframe>:
    //filter list only
    $tile.click(function(){
    //distinguish tiles by id
    var v = $(this).attr('id');
    switch(v)
    case S_MY_CONTENT:
    url_team1 = URL + "?FilterField1="+FIELD_COMPOSER+"&FilterValue1=" + currentUsername;
    break;
    case S_PENDING_IDEA:
    url_team1 = url_team + "&FilterField2="+FIELD_STATUS+"&FilterValue2=Pending&FilterField3="+FIELD_IDEATYPE+"&FilterValue3=Idea";
    break;
    $iframe.attr('src', url_team1);
    3.1.2.2 
    Trend chart
    The chart will be initialized with the numbers by month stored in a 3D array:
    google.load("visualization", "1", {packages:["corechart"]});
    google.setOnLoadCallback(drawVisualization);
    function drawVisualization(ary)
    // Some raw data (not necessarily accurate)
    var data = google.visualization.arrayToDataTable(ary);
    var view = new google.visualization.DataView(data);
    view.setColumns([0, 1,
    { calc: "stringify",
    sourceColumn: 1,
    type: "string",
    role: "annotation"
    2]);
    // Create and draw the visualization.
    var ac = new google.visualization.ComboChart(document.getElementById('chart1'));
    ac.draw(view, {
    //legend: 'top',
    legend: {
    title : '',
    //width: 0,
    //height: 285,
    vAxis: {title: "", format:'#',viewWindowMode:'explicit',
    viewWindow:{
    min:0
    },ticks: ticks
    //hAxis: {title: ""},
    lineWidth: 4,
    bar: {groupWidth: "60%"},
    seriesType: "bars",
    series: {1: {type: "line"}},
    chartArea:{
    colors: ['#A4C400', '#F9A13B']
    3.1.2.3 
    Top contributors rank list
    When retrieving list items, we can get the “AuthorId” which represents the id of the user in the siteUserInfoList. We run another request to retrieve all items in the siteUserInfoList which stores the username with the URL of profile.
    Then we can use a hash table(provided by jshashtable.js) to store the user id, username and profile URL:
    $.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/siteUserInfoList/Items",
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose" },
    success: function (data) {
    console.log(data);
    //get item Count
    var arr = [], len;
    for(key in data.d.results)
    arr.push(key);
    len = arr.length;
    var ht_authors = new Hashtable();
    for(var ii=0; ii<len; ii++)
    if(authorSet.contains(data.d.results[ii].Id))
    if(data.d.results[ii].Picture != null)
    ht_authors.put(data.d.results[ii].Id, data.d.results[ii].Title+'|'+data.d.results[ii].Picture.Url);
    else
    ht_authors.put(data.d.results[ii].Id, data.d.results[ii].Title+'|');
    console.log("ht_authors.keys(): "+ht_authors.keys());
    console.log("ht_authors.values(): "+ht_authors.values());
    error: function (data) {
    alert("error");
    //failure(data);
    3.1.3       
    List view
    For the Comment button, custom title link and the custom published link of each item, we can use JSLink to achieve.
    Comment button: It is supposed to be the OOTB “Type” column, I change the icon and modify the click event of it to pop up a comment dialog which take advantage of the OOTB “Tags&Notes” feature;
    Custom Title link: As there will be two situations of an item: has attachment or not. We will need to run a request to get the URL of attachment and change the hyperlink of the Title field accordingly:
    (function () {
    // Create object that have the context information about the field that we want to change it output render
    var linkFiledContext = {};
    linkFiledContext.Templates = {};
    linkFiledContext.Templates.Fields = {
    //"Attachments": { "View": AttachmentsFiledTemplate }
    "LinkTitle": { "View": TitleFieldTemplate },
    "Published_x0020_Link": { "View": PublishedLinkFieldTemplate },
    "DocIcon": { "View": DocIconFieldTemplate },
    "MyTeam": { "View": MyTeamFieldTemplate }
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(linkFiledContext);
    function DocIconFieldTemplate(ctx)
    var htmlStr = "";
    var listId = ctx.listName;
    var itemId = ctx.CurrentItem.ID;
    var s = listId + "," + itemId;
    htmlStr += "<img width='16' height='16' class=' ms-draggable' alt='Comment' src='"+_spPageContextInfo.webAbsoluteUrl+"/Shared%20Documents/img/comment-icon.png' border='0' ms-draggableragId='0' onclick='CommentIcon(\""+ s +"\")'></img>";
    return htmlStr;
    function CommentIcon(s)
    var listId = s.split(',')[0];
    var itemId = s.split(',')[1];
    var url=_spPageContextInfo.webAbsoluteUrl+"/_layouts/15/socialdataframe.aspx?listid="+listId+"&id="+itemId+"&mode=1";
    console.log(url);
    openCustomDialog(url,"Comment",650,520);
    function openCustomDialog(pageUrl,title,width,height)
    SP.UI.ModalDialog.showModalDialog({
    url: pageUrl,
    width: width,
    height: height,
    title: title,
    dialogReturnValueCallback: function (result){
    if(result== SP.UI.DialogResult.OK)
    parent.window.location.href=parent.window.location.href;
    function PublishedLinkFieldTemplate(ctx)
    //console.log(ctx);
    var htmlStr = "";
    var itemPublishedLink = "";
    var itemPublishedLinkDesc = "";
    if((ctx.CurrentItem.Published_x0020_Link != ''))
    itemPublishedLink = ctx.CurrentItem.Published_x0020_Link;
    itemPublishedLinkDesc = ctx.CurrentItem["Published_x0020_Link.desc"];
    htmlStr = "<a href='" + itemPublishedLink + "' target='_blank'>" + itemPublishedLinkDesc + "</a>";
    return htmlStr;
    function MyTeamFieldTemplate(ctx)
    var htmlStr = "";
    var itemMyTeam = "";
    if((ctx.CurrentItem.MyTeam[0] != undefined) && (ctx.CurrentItem.MyTeam[0] != null))
    itemMyTeam = ctx.CurrentItem.MyTeam[0].lookupValue;
    htmlStr = itemMyTeam;
    return htmlStr;
    function TitleFieldTemplate(ctx) {
    console.log(ctx.CurrentItem);
    var itemId = ctx.CurrentItem.ID;
    var itemTitle = ctx.CurrentItem.Title;
    var listName = ctx.ListTitle;
    var siteUrl = _spPageContextInfo.webAbsoluteUrl;
    var listUrl = _spPageContextInfo.webAbsoluteUrl + "/Lists/" +listName;
    var fileNames = getAttachmentsNames(listName, itemId);
    console.log(fileNames);
    var fileNameAry = fileNames.split("|");
    var htmlStr = "";
    //check the attachment existence
    if(fileNameAry[0] != '')
    for(var j = 0; j < fileNameAry.length; j++)
    var fileName = fileNameAry[j];
    var s1 = "<a class=\"ms-listlink ms-draggable\" onmousedown=\"return VerifyHref(this, event, '1', 'SharePoint.OpenDocuments.3', '1";
    //1``https://microsoft.sharepoint.com/teams/spfrmcs
    var s2 = "/_layouts/15/WopiFrame.aspx?sourcedoc=";
    //2``/teams/spfrmcs/Lists/Content%20Pool
    var s3 = "/Attachments/";
    //3``137
    var s4 = "/";
    //4``[Forum FAQ] Highlight the list tab in Quick Launch when the list view changes.docx
    var s5 = "&action=default'); return false;\" href=\"";
    //5``https://microsoft.sharepoint.com/teams/spfrmcs/Lists/Content Pool
    var s6 = "/Attachments/";
    //6``137
    var s7 = "/";
    //7``[Forum FAQ] Highlight the list tab in Quick Launch when the list view changes.docx
    var s8 = "\" target=\"_blank\" DragId=\"1\">";
    //8``Highlight the list tab in Quick Launch when the list view changes
    var s9 = "</a>";
    var s = s1+siteUrl+s2+listUrl+s3+itemId+s4+fileName+s5+listUrl+s6+itemId+s7+fileName+s8+itemTitle+s9;
    htmlStr += s;
    //console.log(htmlStr);
    if (j != fileNameAry.length - 1)
    htmlStr += "<br/>";
    //if no attachments, set the <a> point to displayForm
    else
    htmlStr += "<a class='ms-listlink ms-draggable' onclick='EditLink2(this,28);return false;' onfocus='OnLink(this)' href='" + siteUrl + "/_layouts/15/listform.aspx?PageType=4&ListId=%7BE54A4FBB%2DDDC2%2D4F7E%2D8343%2D8A1C78757CF4%7D&ID=" + itemId + "&ContentTypeID=0x010079A1D928FF77984C80BFEF1D65C3809F' target='_blank' DragId='0'>" + itemTitle + "</a>";
    return htmlStr;
    function getAttachmentsNames(listName,itemId) {
    var url = _spPageContextInfo.webAbsoluteUrl;
    var requestUri = url + "/_api/web/lists/getbytitle('" + listName + "')/items(" + itemId + ")/AttachmentFiles";
    var str = "";
    // execute AJAX request
    $.ajax({
    url: requestUri,
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    async: false,
    success: function (data) {
    for (var i = 0; i < data.d.results.length; i++)
    if(i != 0)
    str += "|";
    str += data.d.results[i].FileName;
    error: function (err) {
    //alert(err);
    return str;
    3.2
    How to make them work together
    When selecting an option in the Drop Down menu, the Information menu and the List view will be refreshed separately.
    When clicking the tiles, only the list view will be filtered and refreshed, the other parts will not be influenced.
    When items created/modified, the whole page will be refreshed to keep all the numbers in each part updated.  A workflow will also be triggered to inform engineers or reviewers the progress of an item or content.
    3.3
    Other customizations
    3.3.1       
    ECB menu and permission control
    As we need to refresh the page when new item or modify item, we put all the form pages in a custom modal dialog and execute the refresh in the success callback function.
    There are three roles: Site owner, reviewer and engineer. They have limited privileges according to the roles they are:
    Site owner: Full control on the list, can see all the buttons in the ECB menu;
    Reviewer: There is another list which stores the names of each team and reviewers’ names of each team. The reviewer has limited full control only on the team they belong to. To other teams, the role can be seen as a visitor;
    Composer
    (create owner): The one who contribute an idea. For the ideas\contents from other teams, this role can be seen as visitor.
    The ECB menu they can see is:
    For the visitor, the ECB menu will only display a few buttons:
    The code:
    (function () {
    var viewContext = {};
    viewContext.Templates = {};
    viewContext.OnPostRender = OnViewPostRender;
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(viewContext);
    function OnViewPostRender(ctx) {
    $("a[title='More options']").removeAttr("onclick");
    $(".ms-list-itemLink").removeAttr("onclick");
    $("a[title='More options']").attr("onclick", "showMenuList(this);return false;");
    function showMenuList(obj) {
    var itemId = $(obj).parents("tr").attr("id").split(",")[1];
    //show ECB menu
    CoreInvoke('ShowECBMenuForTr', obj, event);
    var teamId = getCurrentTeamId("Content Pool", itemId);
    var styles = "";
    if (isSiteOwner("Technet SharePoint Team Owners")) {
    styles = "li[text='Delete Item ']{display:block;} li.ms-core-menu-separator:last-child{display:block;} ul.ms-core-menu-list > li:nth-last-child(5){display:block;} li[text='Edit Item ']{display:block;} li[text='Upload Document']{display:block;} li[text='Approve']{display:block;} li[text='Reject']{display:block;} li[text='Add Publish Link']{display:block;}";
    } else if (isReviewer("List1_FAQ_team", teamId, "Reviewers")) {
    styles = "li[text='Delete Item ']{display:block;} li.ms-core-menu-separator:last-child{display:block;} ul.ms-core-menu-list > li:nth-last-child(5){display:block;} li[text='Edit Item ']{display:block;} li[text='Upload Document']{display:block;} li[text='Approve']{display:block;} li[text='Reject']{display:block;} li[text='Add Publish Link']{display:block;}";
    } else if (isComposer(obj)) {
    styles = "li[text='Delete Item ']{display:block;} li.ms-core-menu-separator:last-child{display:block;} ul.ms-core-menu-list > li:nth-last-child(5){display:block;} li[text='Edit Item ']{display:block;} li[text='Upload Document']{display:block;} li[text='Approve']{display:none;} li[text='Reject']{display:none;} li[text='Add Publish Link']{display:none;}";
    } else {
    styles = "li[text='Delete Item ']{display:none;} li.ms-core-menu-separator:last-child{display:none;} ul.ms-core-menu-list > li:nth-last-child(5){display:none;} li[text='Edit Item ']{display:none;} li[text='Upload Document']{display:none;} li[text='Approve']{display:none;} li[text='Reject']{display:none;} li[text='Add Publish Link']{display:none;}";
    includeStyleElement(styles);
    //get current team id
    function getCurrentTeamId(listName,itemId){
    var teamId="";
    var requestUri = _spPageContextInfo.webAbsoluteUrl +
    "/_api/Web/Lists/getByTitle('"+listName+"')/items("+itemId+")?$select=MyTeamId";
    // execute AJAX request
    $.ajax({
    url: requestUri,
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    async: false,
    success: function (data) {
    if(data.d.MyTeamId!=null){
    teamId=data.d.MyTeamId;
    }else{
    teamId="0";
    error: function () {
    //alert("Failed to get details");
    return teamId;
    //check whether is owner
    //Technet SharePoint Team Owners
    function isSiteOwner(groupName) {
    var flag = false;
    var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/Web/effectiveBasePermissions";
    // execute AJAX request
    $.ajax({
    url: requestUri,
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    async: false,
    success: function (data) {
    var permissions = new SP.BasePermissions();
    permissions.fromJson(data.d.EffectiveBasePermissions);
    flag = permissions.has(SP.PermissionKind.managePermissions);
    error: function () {
    //alert("Failed to get details");
    return flag;
    function isComposer(obj) {
    var flag = false;
    var userId = _spPageContextInfo.userId;
    var composerId = $(obj).parents("tr").find("a[href*='userdisp.aspx']").attr("href").split("ID=")[1];
    if (composerId == userId) {
    flag = true;
    return flag;
    //check whether is reviewer
    function isReviewer(listName,teamId,peopleColumn){
    var flag=false;
    var userId=_spPageContextInfo.userId;
    // begin work to call across network
    var requestUri = _spPageContextInfo.webAbsoluteUrl +
    "/_api/Web/Lists/getByTitle('"+listName+"')/items?$select=ID&$filter=(ID eq '"+teamId+"' and "+peopleColumn+"Id eq '"+userId+"')";
    // execute AJAX request
    $.ajax({
    url: requestUri,
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    async: false,
    success: function (data) {
    if(data.d.results.length>0){
    flag=true;
    error: function () {
    //alert("Failed to get details");
    return flag;
    //insert style into page
    function includeStyleElement(styles) {
    var style = document.createElement("style");
    style.type = "text/css";
    (document.getElementsByTagName("head")[0] || document.body).appendChild(style);
    if (style.styleSheet) {
    //for ie
    style.styleSheet.cssText = styles;
    } else {
    //for w3c
    style.appendChild(document.createTextNode(styles));
    3.3.2       
    Workflow email customization
    The email will only be sent to engineer or team reviewer in the three scenarios:
    When engineer uploads an idea or content, reviewer will receive an email;
    When engineer uploads a content to an existing idea, reviewer will receive an email;
    When reviewer approve/reject an idea or content, engineer will receive an email;
    The design of the workflow process  :
     The email design like this:
    Email to engineer
    Email to reviewer
    Let us know if you are interested in it. Happy coding!
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    A good solution. Liked it very much. Can you please make it a technet blog for others.
    [email protected]

  • About the MSI Forum Contest...

    My opinion is that this a good step taken by MSI towards their forum members
    However some of the questions are too difficult to answer and are limited to only few insiders...
    Just my opinion
    Markoul

    Maybe it is a romantic dinner for two with the president of MSI!!!

  • Where to download MSI HQ Forum USB Flasher?

    Nice redesign of the MSI forums, however it seems to have broken all download links I could find for the MSI HQ Forum USB Flasher -- which I am in desperate need of.
    For example, the link mentioned at http://forum-en.msi.com/faq/article/how-to-flash-the-bios-successfully just redirects you to the forums with the message "An error has occured!"
    Could anyone please point me to a reliable source for the MSI HQ Forum USB Flasher? Thanks!

    Quote from: Nichrome on 23-November-14, 19:07:42
    Well according to MSI you should be using MFlash in order to restore a bad BIOS
    Things are still not up and running, so this may take a while before things get back (if they planned to get them back).
    Sadly I don't have forum flasher on me.. maybe other mod has one.
    In the sticky https://forum-en.msi.com/index.php?topic=172772.0 I found the FPT flasher for socket 1150 boards. Just finished fixing my primary BIOS! All is well again!!!
    That's a huge relief. Now I could update my secondary BIOS to 1.7 without fear.

Maybe you are looking for

  • Malfunctioning iPod, not being recognized by the computer. Why?

    Ok, yesterday I wanted to update my iPod so I plugged it in and I got an error message about my USB malfunctioning and then my ipod was frozen on "do not disconnect". I unfroze it and tried again. Same thing. Then I changed ports and same problem. I

  • Do I need to upgrade my iMac G4 to recognize Airtunes?

    I'm running OS X 10.3 on my iMac G4 and I want to purchase Airtunes so that I can wirelessly stream music from iTunes to my stereo. Do I need to upgrade to 10.4 and purchase a Airport card (or something similar) in order to make this happen? Also, do

  • Class.forName() lookup places for the driver

    I'm trying to use java with mysql through mysql-connector-java all of them installed in Linux Debian Lenny, I've already read all the docs related to each of them, and they are workling except for one thing, It seems that jdk can't find the CLASSPATH

  • VAT REGISTER

    Hi How VAT IS captured in CIN in purchasing? How the credits are taken? How vat register maintained?Like excise register maintainenece How vat utilized aganist the out going materials?During selling How the vat is payed to the government at the month

  • Develop OAF page that does not require login

    Hi, I need to create a search page and access this page without login in Oracle EBS. I have found something about it, using GUEST user. But it does not work on R12. Does anyone know how to help me? Thanks.