Headlines Plugin

Show headline news in TWiki pages based on RSS and ATOM news feeds from external sites


This plugin displays RSS and ATOM feeds from news sites. Use it to build news portals that show headline news.

Note: Syndic8.com ( http://www.syndic8.com/ ) lists many RSS feeds.

Syntax Rules


Parameter Explanation Default
"..." source of RSS feed; this can be an url (starting with http) or a web.topic location for internal feeds None; is required
href="..." (Alternative to above) N/A
refresh="60" Refresh rate in minutes for caching feed; "0" for no caching Global REFRESH setting
limit="12" Maximum number of items shown Global LIMIT setting
touch="..." Touch (edit/save) topics if the feed has updates. Specify a comma-space delimited list of TopicNames or Web.TopicNames, such as "%TOPIC%, NewsLetter". Useful to send out newsletter using MailerContrib, showing new feeds since last newsletter. To update feeds, visit topics with feeds in regular intervals (using cron with wget or the like). N/A
header Header. Can include these variables: - $channeltitle, $title: title of channel (channel.title)
- $channellink, $link: link of channel (channel.link)
- $channeldescription, $description: description (channel.description)
- $channeldate, $date: publication date of the channel (channel.pubDate)
- $rights: copyrights of the channel (channel.copyright)
- $imagetitle: title text for site (image.title)
- $imagelink: link for site (image.link)
- $imageurl: URL of image (image.url)
- $imagedescription: description of image (image.description)
Global HEADER setting
format Format of one item. Can include these variables:
- $title: news item title (item.title)
- $link: news item link (item.link)
- $description: news item description (item.description)
- $date: the publication date (item.pubDate, item.date)
- $category: the article category (item.category)
Global FORMAT setting

The header and format parameters might also use variables rendering the dc, image and content namespace information. Note, that only bits of interest have been implemented so far and those namespaces might not be implemented fully yet.

Rendering the dc namespace

The following variables are extracting the dc namespace info, that could be used in header and format. Nnote, that some of the variables are already used above. This is done by purpose to use different feeds with the same formating parameters. If there's a conflict the non-dc tags have higher precedence, i.e. a <title> content </title> is prefered over <dc:title> content </dc:title> .

  • $title: channel/article title (dc:title)
  • $creator: channel creator (dc:creator)
  • $subject: subject text; this will also add an image according to the subject hash list, see above (dc:subject)
  • $description: ... (dc:description)
  • $publisher: the channel/article publisher (dc:publisher)
  • $contributor: ... (dc:contributor)
  • $date: ... (dc:date)
  • $type: ... (dc:type)
  • $format: ... (dc:format)
  • $identifier: ... (dc:identifier)
  • $source: ... (dc:source)
  • $language: ... (dc:language)
  • $relation: ... (dc:relation)
  • $coverage: ... (dc: coverage)
  • $rights: ... (dc: rights)

Rendering the image namespace

An image:item is converted into an <img> tag using the following mappings:

  • src: image url (rdf:about attribute of the image.item tag)
  • alt: image title (title)
  • width: image width (image:width)
  • height: image height image:height)

Rendering the content namespace

The variable $content is refering to the <content:encoding> content </content:encoding>.


Slashdot News


%HEADLINES{ "http://slashdot.org/slashdot.rdf" 
  header="*[[$link][$title]]:* $description" 
  format="$t* [[$link][$title]]"
to get the latest Slashdot news as a bullet list format:

Business Opportunities Weblog


%HEADLINES{ "http://www.business-opportunities.biz/feed" limit="2" }%

to get the latest postings on the "Business Opportunities" weblog:

Wed, 22 Jan 2020 21:37:22 +0000
The original blog about business opportunities and business ideas for small business entrepreneurs
Wed, 22 Jan 2020 21:37:20 +0000 Mel Martinez

It costs far more to replace an employee than it does to retain them. In order to keep them wanting to stay with your company, you must provide a workplace that they enjoy. Your business success depends on keeping your employees happy and motivated. After all, they are not robots that are only there to serve the bottom line. They are real people with real lives and they devote a huge portion of their time to your company.

Feature Photo by mentatdgt from Pexels

It isn't enough to just give your employees the perfect gift for Christmas. You must also maintain a positive work experience during the year to make sure they are content and motivated to do their job. Low employee morale is a business killer. Production drops when morale is low. In addition, employee turnover makes it hard to maintain consistency.

So, what to do? Increase your business' success through satisfied employees with the following tips.

Pay Employees On Time

The surest way to kill morale in your office is to pay your employees late or make mistakes in their paycheck. Use an employee time tracking app to make sure that their check is always correct. Follow that up with attentiveness and reliability that your employees are paid on time. This one practice is a huge part of your effort to keep employees happy and motivated.

300w, man-with-headphones-facing-computer-monitor-845451-768x432.jpg 768w, man-with-headphones-facing-computer-monitor-845451-696x392.jpg 696w, man-with-headphones-facing-computer-monitor-845451-1068x601.jpg 1068w, man-with-headphones-facing-computer-monitor-845451-747x420.jpg 747w, man-with-headphones-facing-computer-monitor-845451.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" />
Photo by bruce mars from Pexels

Set Clear Expectations

Everybody wants to know exactly what their job is. When there are no clear boundaries between what one employee and another do, resentment builds. The most common result of unclear boundaries is that one employee takes on too much while another is perceived as taking on too little. This creates resentment and substantially lowers morale.

Take time to establish a clear set of expectations and responsibilities for each employee. If and when the time arises that they have to take on extra work, their sacrifice is acknowledged. Express thanks for hard work and dedication. As soon as possible, take the extra load away from the employee and return their job expectations to normal. Also, it wouldn't hurt to make sure they get a little extra bonus at the end of the year.

Encourage Breaks To Keep Employees Happy and Motivated

Burnout is very real. It can lead to health issues, low morale, and feelings of dissatisfaction. If you believe your company has been asking a lot of the employees for a while, encourage them to take time off. Consider offering a long lunch for the week, a long weekend by taking a Friday off, or encourage them to use their vacation time.

Whatever you think will help them unwind and recharge will be appreciated. 

Happy Employees Prioritize Work/Life Balance

Your employees are key to your business success. Therefore, their work must be at its most productive. This only happens when your employees experience well-being in the office and in their life. You can avoid burning your employees out by making sure that they are able to have a life outside of work. Limit instances of calling them in on weekends or keeping them from their family at night. Their ability to enjoy the life your employment provides will keep them working for you.

Celebrate Milestones

When somebody closes a big deal or finishes a project ahead of schedule, make sure you celebrate their accomplishment. Let the employee know personally how much you appreciate their hard work. In addition, make sure the office knows and encourage others to congratulate them on their milestone. The team-effort creates truly happy employees!

Additionally, celebrate longevity milestones and positive feedback accomplishments from customers. People want to know you recognize their loyalty. Show them that you are paying attention to their hard work and see the results.

Offer A Flexible Schedule

The need for 40-hours-per-week face time is becoming a thing of the past. In past years, supervisors required employees to be in the office, checking in (or clocking in) and out each day. Unfortunately, whether an employee was maximumly productive during that time didn't matter.


Now, people are more focused on productivity and results. If an employee can come in later or leave earlier than the traditional 9 to 5 (which has really become 8 to 6), and still get results, then let it happen. You can also offer some employees the opportunity to work from home a day or two per week. Not having to commute helps increase productivity and helps relieve the pressure from your employee's day.

Today’s employers must be concerned with keeping employees happy and motivated. The generations entering the workforce expect a level of satisfaction in their work. Use these principles to ensure that your company is known for a workplace that supports and cares about your employees.

The post 6 Ways To Keep Your Employees Happy and Motivated appeared first on Business Opportunities.

Wed, 22 Jan 2020 21:28:05 +0000 Carrol Strain
Featured image by beate bachmann from Pixabay 

Investors have enjoyed a bull market for more than a decade. That fact alone is ominous enough, and there is little doubt that a bear market looms near.

Fund managers all agree that a bear market is inevitable. However, there is no common stance on when the next downturn will come.

Most believe the markets will turn within the next two years. However, even the most optimistic don't believe that the current bull market will hold more than four years. Considering that most investments are held for longer than two to four years, fund managers are slowly coming under pressure to find safe havens for their capital before the bull market winds down.

Investors Are Making a Run for Safe Investments

The warning signs are flashing, and it is inevitable that the economy will contract sooner or later. When that happens, investors will rush for recession-proof investments. The competition is already high among strategic buyers such as hedge funds, venture capitalists, and private equity managers.

Retaining liquidity for the next upward cycle will be the main goal of most fund managers. Falling back on cash in a financial crisis is one way to stay liquid. However, with negative rates this option loses its appeal.

The safest investments when a bull market subsides are those that have their secular trends behind them and face a relatively predictable future.

However, the hottest industries are natural resources, finance, and technology. In these fields, demand is pushing the prices, making it more difficult and expensive to close deals.

The End of a Bull Market Represents Opportunity in Uncertainty

In addition to the risk of a looming recession, investors have to cope with geopolitical concerns. For example, the United Kingdom, once the world's fourth largest economy, is arguing over its future in the European Union. Moreover, no one fully understands what Brexit will mean for the world economy.

As if that weren’t enough, the world's two largest economies are in the middle of a trade war. There is a stubborn ruling party on one side of the negotiating table with an unpredictable administration on the other.

Amid the political chaos, exits, and trade disputes, investors are looking toward Asia for opportunities. They know they must, since the bull market won’t last forever, and the bear market prowls nearby. This is one of the many reasons why, despite regional political scuffles, Southeast Asia is becoming an attractive alternative to China for many investors.


Investors Turn to Southeast Asia for Safe Investing

Some of the world's largest growing economies are in the region. Investors are not ignoring them, even as the current bull market rages. Investment volumes have been consistently growing over the last year.

The big players, such as The Blackstone Group and Citigroup, are investing billions. Meanwhile, regional companies are registering impressive numbers, too.

For example, the Carlyle Group raised funds totaling $18.5 billion, and TechBase Capital raised two funds for nearly $200 million. It’s clear that the trend last year was that investors tended to favor Southeast Asia over Europe.

Trade disputes and a waning bull market are not the only factors influencing the shift eastward. For example, stricter monetary regulations and uncertainty in the direction of future policies are growing concerns for fund managers. With both sides of the Atlantic in political and economic turmoil, Asia is the logical alternative.

The Association of Southeast Asian Nations (ASEAN) is working toward becoming a single market and production base similar to the European Union. Alongside India, members of ASEAN such as Malaysia and Indonesia offer attractive investment alternatives for investors who find it too risky at home and want to diversify from China.

The post Equity Heads East When a Bull Market Goes South appeared first on Business Opportunities.

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %HEADLINESPLUGIN_SHORTDESCRIPTION%. Note: Don't modify the settings here; copy and customize the settings in Main.TWikiPreferences. For example, to customize the USERAGENTNAME setting, create a HEADLINESPLUGIN_USERAGENTNAME setting in Main.TWikiPreferences.

  • One line description, shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Show headline news in TWiki pages based on RSS and ATOM news feeds from external sites

  • Refresh rate in minutes for cached feeds. Disable caching: 0, default: 60
    • Set REFRESH = 60

  • Maximum number of items shown. Default: 100
    • Set LIMIT = 100

  • Use LWP::UserAgent, or fallback to TWiki's internal getUrl() method. Default: yes

  • Timeout fetching a feed using the LWP::UserAgent. Default: 20

  • Name of user agent. Default: TWikiHeadlinesPlugin/2.21
      * Set USERAGENTNAME = TWikiHeadlinesPlugin/2.21

  • Default header: (variables are explained in the syntax rules)
      * Set HEADER = <div class="headlinesChannel"><div class="headlinesLogo"><img src="$imageurl" alt="$imagetitle" border="0" />%BR%</div><div class="headlinesTitle">$n---+!! <a href="$link">$title</a></div><div class="headlinesDate">$date</div><div class="headlinesDescription">$description</div><div class="headlinesRight">$rights</div></div>

  • Default format of one item: (variables are explained in the syntax rules)
      * Set FORMAT = <div class="headlinesArticle"><div class="headlinesTitle"><a href="$link">$title</a></div>$n<span class="headlinesDate">$date</span> <span class="headlinesCreator"> $creator</span> <span class="headlinesSubject"> $subject </span>$n<div class="headlinesText"> $description</div></div>

  • Values taken from configure: (only supported if CPAN:LWP is installed)
    • $TWiki::cfg{PROXY}{HOST} - proxy host, such as "proxy.example.com";
    • $TWiki::cfg{PROXY}{PORT} - proxy port, such as "8080";
    • $TWiki::cfg{PROXY}{SkipProxyForDomains} - domains excluded from proxy, such as "intra.example.com, bugs.example.com";

Style Sheets

The default HEADER and FORMAT settings use the following styles. See the style.css file defining the default CSS properties (indentation illustrates enclosure).

  • headlinesRss: output of the HeadlinesPlugin (div)
    • headlinesChannel: channel header (div)
      • headlinesLogo: channel logo (div)
      • headlinesTitle: channel title (div)
      • headlinesDate: channel date (div)
      • headlinesDescription: channel description (div)
      • headlinesRight: channel copyright (div)
    • headlinesArticle: one news item (div)
      • headlinesTitle: article title (div)
      • headlinesDate: article date (span)
      • headlinesCreator: author of article (span)
      • headlinesSubject: subect category of the article (span)
      • headlinesText: article text (div)

Plugin Installation Instructions

  • Download the ZIP file.
  • Unzip it in your twiki installation directory. Content:
    File: Description:
    data/TWiki/HeadlinesPlugin.txt plugin topic
    pub/TWiki/HeadlinesPlugin/style.css default css
    lib/TWiki/HeadlinesPlugin.pm plugin perl module
    lib/TWiki/HeadlinesPlugin/Core.pm plugin core
    Check if above examples show a news feed instead of variable.
  • Optionally, run HeadlinesPlugin_installer.pl to automatically check and install other TWiki modules that this module depends on. You can also do this step manually.
  • Alternatively, manually make sure the dependencies listed in the table below are resolved.
    Digest::MD5>=2.33Required. Download from CPAN:Digest::MD5
    LWP::UserAgent>=5.803Optional. Download from CPAN:LWP::UserAgent

Plugin Info

Plugin Author: TWiki:Main.PeterThoeny, TWiki:Main.MichaelDaum
Copyright: © 2002-2010, Peter Thoeny, Twiki, Inc.; 2005-2007, Michael Daum http://wikiring.de
License: GPL (GNU General Public License)
Plugin Version: v2.6 - 2010-05-16
Change History:  
2010-05-16: TWikibug:Item6433 - more doc improvements
2010-04-25: TWikibug:Item6433 - doc fix: Changing TWIKIWEB to SYSTEMWEB
2010-02-27: TWikibug:Item6313 - fixed bug in ATOM feed with <link ...></link> instead of <link ... /> -- Peter Thoeny
2009-09-30: fixed bug in lastBuildDate of feeds affecting touch parameter functionality -- Peter Thoeny
2009-08-29: added touch parameter -- Peter Thoeny
12 Feb 2009: {PROXY}{HOST} supports domain with and without protocol -- Peter Thoeny
06 Feb 2009: added {PROXY}{SkipProxyForDomains} configure setting, added USERAGENTNAME plugin setting -- Peter Thoeny
11 Dec 2008: added {PROXY}{HOST} and {PROXY}{PORT} configure settings -- Peter Thoeny
13 Sep 2007: fixed parsing of content:encoded
23 Jul 2006: improved atom parser; if a posting has no title default to 'Untitled'
26 Apr 2006: added lazy compilation
10 Feb 2006: packaged using the TWiki:Plugins/BuildContrib; minor fixes
03 Feb 2006: off-by-one: limit="n" returned n+1 articles; make FORMAT and HEADER format strings more robust
23 Jan 2006: released v2.00
05 Dec 2005: internal feed urls must be absolute
02 Dec 2005: added web.topic shorthand for internal feeds
29 Nov 2005: fixed CDATA handling
21 Nov 2005: added ATOM support; extended RSS support; added dublin core support; added content support; optionally using LWP to fetch feeds to follow redirections; corrected CPAN dependencies ; recoding special chars from html integer to entity encoding to increase browser compatibility; added css support; use getWorkArea() if available
11 May 2005: TWiki:Main.WillNorris: added DevelopBranch compatability
31 Oct 2004: Fixed taint issue by TWiki:Main.AdrianWeiler; small performance improvement
29 Oct 2004: Fixed issue of external caching if mod_perl or SpeedyCGI is used
02 Aug 2002: Implemented caching of feeds, thanks to TWiki:Main/RobDuarte
11 Jun 2002: Initial version (V1.000)
Perl Version: 5.8
TWiki:Plugins/Benchmark: GoodStyle 100%, FormattedSearch 99.5%, HeadlinesPlugin 94%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/HeadlinesPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/HeadlinesPluginDev
Appraisal: http://TWiki.org/cgi-bin/view/Plugins/HeadlinesPluginAppraisal

Related Topics: TWikiPlugins, AdminDocumentationCategory, TWikiPreferences

Topic revision: r1 - 2010.05.17 - TWikiContributor
This site is powered by the TWiki collaboration platformCopyright © 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.HeadlinesPlugin.