create new tag
, view all tags

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.


  • RSS (Rich Site Summary) is an XML standard used to publish frequently updated works such as blog entries, news headlines and audio.
  • Atom is an XML syndication format used for web feeds.
  • Syndic8.com at http://www.syndic8.com/ lists many RSS and ATOM feeds.

Syntax Rules


Parameter Explanation Default
"..." Source of RSS or ATOM 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
header="..." Header. May 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. May 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
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

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. Note that some of the variables are already used above. This is done by purpose to use different feeds with the same formatting parameters. If there's a conflict the non-dc tags have higher precedence, i.e. a <title> content </title> is preferred 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 referring 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:

Sat, 12 Oct 2019 14:28:28 +0000
The original blog about business opportunities and business ideas for small business entrepreneurs
Sat, 12 Oct 2019 14:28:27 +0000 Carrol Strain

After an accident, there are many things to take care of, and nearly all of those things have financial implications. In this post we discuss the ways a personal injury lawyer can help you after you have an accident.

Often when an accident happens, we feel helpless about it. However, we can keep ourselves prepared for such a time. For example, the reason many people have health and car insurance is that it gives them some assurance they will have financial protection during a trying time. Likewise, as a business owner, you probably have workers’ compensation coverage.


However, the idea of insurance can be counterproductive. This is because we sometimes find insurance companies turning against the insurer instead of offering assistance, either as a part of the policy or to delay or avoid payouts. This can make a person feel unsure about how to proceed.

Additionally, after an accident, there are many other things to take care of besides having to deal with your insurance company. Nearly all of those things have financial implications.

For example, the injury you sustained as a result of the accident could have long-term effects on the quality of your life. Also, you might need medical treatment for physical and mental trauma and more. This is where a lawyer can step in and help you. To a great extent, a personal injury lawyer will make things easier for you when it can seem the world is against you.

A Personal Injury Lawyer Will Tell You About Your Rights

A personal injury lawyer will start by informing you about the laws and your rights. This frank discussion will help you understand whether you were at fault or the accident was the fault of someone else. This will also give you confidence, as you will begin to understand that existing laws were made to protect you in such situations.

After listening to your description of the accident, a good personal injury lawyer will also tell you about the feasibility of your claim and the chances you have of winning your case. Of course, they will do so only after they fully understand the circumstances surrounding the accident.

Since they have had experience with similar such cases, they can give you a realistic picture and advise you of the best course of action. Then, based on their advice, you can decide how to go about it.

You can follow this link to call a personal injury lawyer for more information. They will help you make an informed decision.

They Will Collect Evidence

After the initial consultation, if you decide to work with a personal injury lawyer, they will either visit the place of the accident themselves or send a subordinate to investigate the case. They will ask witnesses for information to understand your case. They do these things so they can prove your case to the opposing party or in court.

The main reason you might want to hire a personal injury lawyer is because a person who has been injured in an accident doesn't always have the power or skills to collect evidence for themselves. However, your lawyer will strengthen your case by gathering substantial evidence.

Collecting this evidence is not easy by any stretch of the imagination. This is because you need the right experience to know what to collect and where to look for evidence. A good lawyer, someone who has both experience and education, can do this easily. In the process, they will strengthen your case.

A Personal Injury Lawyer Will Be on Your Side

The main job of a personal injury lawyer is to make sure you get your due compensation. Your lawyer will not allow anyone, including insurance companies, to use unfair tactics. Your lawyer will make an accurate assessment of your loss and claim for it.

On your own, you might only count your medical and repair bills in your assessment. However, your lawyer will also include mental trauma, the difficulties you went through, lost wages from not working, and other things, including their own fees.

Insurance companies might try to close the case with only a little remuneration. They might even try to pressure you to settle for nearly nothing. But this won't be possible for them when you have a lawyer by your side.

Many times, your personal injury lawyer will also act as a liaison between you and your insurance company. In this way, you don’t have to go through the stress of dealing with the insurance companies and their attempts to postpone or reduce the amount of the final settlement.

They Will Deal with All Parties Involved

You might have more than just an insurance company to deal with. Other people affected by the accident and even the person who caused the crash could be involved.

It's important to determine who was at fault for the accident. This is because that is the person who will have to pay for all damages. Your personal injury lawyer will fight to prove your innocence if you weren't at fault.

Experienced lawyers are used to dealing with multiple parties. They know the nuances of communicating with each person to get the information they need. Because they are trained to have excellent communication skills, they can get you the compensation you deserve.

They Will Even Go to Court If Necessary

Someone who doesn't have a law background can be intimidated about going to court. Insurance companies know this. They will use your fear to their advantage and try to manipulate you into a meager settlement that falls far short of compensating you for your injury and the resulting financial loss. In other words, you might feel pressured to accept a deal that’s unfair to you.

Also, an insurance company will have experienced lawyers of their own. If you have no attorneys of your own, you will be no match for them at all. However, going to court or dealing with the opposition’s lawyers will not be a problem when you have a personal injury lawyer on your side.


These are just some of the ways a personal injury lawyer can help you. To sum up, your lawyer will work with you to win your case and get you the compensation you deserve after an accident.

The post How a Personal Injury Lawyer Can Help You appeared first on Business Opportunities.

Fri, 11 Oct 2019 23:19:10 +0000 Carrol Strain
Photo made available by The New York Public Library on Unsplash

Assembly Bill 539 has made strides through California legislature with ease, unlike its predecessors last year. The bill has already passed the state Assembly as well as the state Senate Committee on Banking and Finance Institutions.

It marks a victory for the bill's sponsors, Assembly Members Monique Limón (D-Santa Barbara) and Tim Grayson (D-Concord). AB 539, or the Fair Access to Credit Act, reforms the California Financing Law. It does this by creating an interest rate cap at 36% for consumer installment loans between $2,500 and $10,000.

Bill Reflects California's Intention to Crack Down on Predatory Lending

Assemblywoman Monique Limón previously authored AB 3010 and AB 2953 in 2018. AB 3010 aimed to prevent consumers from taking out more than one payday loan at a time. It also required lenders to record the transactions. AB 2953 attempted to prevent title loan companies from charging interest rates above 36%.

Both bills failed to win enough votes. However, with AB 539's passing, the mission to crack down on predatory lending is just beginning. During his inauguration speech earlier this year, Governor Gavin Newsome vowed to stand up to various issues. Among those issues were ''payday lenders who target our most vulnerable.''

Critics Contend the Bill Is Bad for Borrowers

As advocates for the bill celebrated the victory, questions arose over the bill's efficacy. Critics also questioned its effect on struggling borrowers who need financing. Lawmakers created AB 539 to reduce ''predatory lending.'' This is a phrase that refers to short-term lenders such as payday loan companies, car title loan companies, and cash advance companies.

Short-term lenders have a high interest rate to compensate for a borrower's poor credit. Moreover, the loans are riskier for the borrower. Borrowers who default on their loans can get stuck in a cycle of debt. Their creditors can even repossess their assets.

Controversies have always surrounded these types of lenders because of concern over their targeting struggling borrowers. However, critics are asking whether or not AB 539 will help the borrowers it is meant to protect.

The Bill Targets Lenders That Target Struggling Borrowers

Many borrowers who end up taking these high-interest installment loans are unable to obtain loans from banks because of poor credit. As a last resort, these borrowers use short-term loans to meet their financial needs. Now that AB 539 has passed, these lenders may find themselves going out of business.

The question remains: Will struggling borrowers be able to access easy financing with an enforced interest rate cap? It is likely that this bill will create more hurdles for desperate borrowers in search of a loan.


Some Lenders Say They Will Go Out of Business

AB 539 will have grueling consequences for both lenders and borrowers alike. The bill won't affect banks, but companies offering high-interest loans will undoubtedly struggle as they lower their profit margins because of the interest cap. It will be no surprise when many of these companies shut down or take their business outside of California.

In a state with more payday lenders than McDonald's restaurants, closures across the state will have a dire effect on company employees, many of whom will inevitably lose their jobs. Although lenders will face the most effects from the bill, borrowers will also feel the long-term effects of these company closures and the changes in interest rates.

The Bill Won't Affect Some Payday Loan Companies

After the interest rate changes go into effect, borrowers who would normally qualify for a loan under previous circumstances will be turned down by lenders affected by the policy change. As a result, many borrowers won’t have a means to get financing, since these lenders were their last resort. Starting in 2020, borrowers will need to search for alternative lenders, who may not always provide ideal solutions.

Assembly Bill 539 will not affect payday loan companies offering loans amounts under $500, since the bill applies to loan amounts of $2,500 to $10,000. Therefore, payday loan companies will still offer an alternative means to get small-dollar financing for borrowers who have poor credit.

Lenders on Tribal Land Will Be Unaffected

Lenders on tribal land are another group untouched by this California bill. The Native American community operates tribal lenders. Therefore, they are not subjected to strict regulations because of tribal sovereignty.

Tribal lenders are able to give loans to non-tribal borrowers and are therefore an alternative lender for those who need finances. Unfortunately, since these lenders are not regulated, the loan offers have extremely high interest rates, sometimes as high as 800%, since there is no interest rate cap. Borrowers also need to be aware that tribal lenders cannot be sued because of tribal sovereignty.

Business Owners with Poor Credit Will Need to Find Alternatives

Under previous circumstances, struggling business owners could use car title loans to finance their business operations. However, since loan approval will be less likely after the interest rate cap, business owners with bad credit will need to find alternative lenders who can provide other means of financing.

Businesses with at least $5,000 a month in revenue for at least three months can still get a business loan with bad credit through Opportunity Business Loans, which connects business owners with a large number of lenders in their network.

The Bill Will Affect Lenders and Borrowers Alike

All in all, AB 539 will bring big changes to the loan industry. These changes will significantly affect lenders and borrowers alike. As the changes take place in 2020, borrowers need to be aware of the challenges they will face because of limited loan options.

In short, California borrowers will need to look to new sources of funding. Although AB 539 will reduce negligent lending and dangerous risks for consumers, both borrowers and lenders will have to face the repercussions of the bill.

The post Bill Reforms Laws Affecting Short-Term Lenders appeared first on Business Opportunities.

Plugin Settings

Plugin settings are stored as preferences settings. Do not change the settings here, they are here only for illustration purposes showing the default values. Define the settings in Main.TWikiPreferences. For example, to customize the HEADLINESPLUGIN_USERAGENTNAME setting, add a * Set HEADLINESPLUGIN_USERAGENTNAME = ... bullet in Main.TWikiPreferences.

  • Refresh rate in minutes for cached feeds. Set to 0 to disable caching:

  • Maximum number of items shown:

  • Use LWP::UserAgent if set to 1, or fallback to TWiki's internal getUrl() method if set to 0:

  • Timeout fetching a feed using the LWP::UserAgent:

  • Name of user agent:
    • Set HEADLINESPLUGIN_USERAGENTNAME = TWikiHeadlinesPlugin/2011-07-08

  • Default header: (variables are explained in the syntax rules)
      * Set HEADLINESPLUGIN_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 HEADLINESPLUGIN_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

This is a pre-installed plugin. TWiki administrators can upgrade the plugin as needed on the TWiki server.

Note: You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the TWiki server.

  • For an automated installation, run the configure script and follow "Find More Extensions" in the in the Extensions section.

  • Or, follow these manual installation steps:
    • Download the ZIP file from the Plugins home (see below).
    • Unzip HeadlinesPlugin.zip in your twiki installation directory. Content:
      File: Description:Sorted ascending
      pub/TWiki/HeadlinesPlugin/style.css Default CSS
      lib/TWiki/HeadlinesPlugin/Core.pm Plugin core
      lib/TWiki/Plugins/HeadlinesPlugin.pm Plugin Perl module
      data/TWiki/HeadlinesPlugin.txt Plugin topic
    • Set the ownership of the extracted directories and files to the webserver user.
    • 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 configuration and testing:
    • Run the configure script, enable the plugin in the Plugins section
    • Configure the plugin: See plugin settings above.
    • Test if the installation was successful: See example above.

Plugin Info

  • 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

Plugin Author: TWiki:Main.PeterThoeny, TWiki:Main.MichaelDaum
Copyright: © 2002-2013 Peter Thoeny, TWiki.org
© 2005-2007 Michael Daum wikiring.de
License: GPL (GNU General Public License)
Plugin Version: 2013-02-16
2013-02-16: TWikibug:Item7091: Use TWISTY in installation instructions section and change history
2013-01-29: TWikibug:Item7131: HeadlinesPlugin doesn't match pattern in multiple lines.
2012-12-10: TWikibug:Item7070: HeadlinesPlugin doesn't support multiple disks.
2012-11-13: TWikibug:Item7016: Restore changes for earlier versions with LWP
2012-11-13: TWikibug:Item7020: Categorize TWiki Variable
2012-10-31: TWikibug:Item7016: Utilize <guid> value when it is available
2012-09-05: TWikibug:Item6837: Doc fixes
2011-07-17: TWikibug:Item6764: Add VarHEADLINES variable documentation; doc improvements; setting NO_PREFS_IN_TOPIC
2011-07-08: TWikibug:Item6725: Change global package variables from "use vars" to "our"
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
Plugin 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: VarHEADLINES, TWikiPlugins, AdminDocumentationCategory, TWikiPreferences

Topic revision: r8 - 2013-02-16 - 18:01:51 - TWikiContributor
Copyright © 1999-2019 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.