Headlines Plugin


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/ ) is a good site listing 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
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


  header="*[[$link][$title]]:* $description" 
  format="$t* [[$link][$title]]"
to get the latest Slashdot news as a bullet list format:

HeadlinesPlugin ERROR: 500 Can't connect to slashdot.org:443 (Timeout)

Business Opportunities Weblog


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

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

Fri, 20 Jul 2018 01:29:34 +0000
The original blog about business opportunities and business ideas for small business entrepreneurs
Fri, 20 Jul 2018 01:29:34 +0000 Laurie Bennett
Image Credit: Thorn Yang on Pexels

Both Apple's iOS App Store and Google's Play Store are flooded with millions of apps. Any good idea is rapidly cloned. This dissuades people from downloading them. It also stops entrepreneurs from creating new ones. But progressive web apps (PWA’s) live outside the app stores. This allows them to be promoted individually and distinctly. This thereby create a great business opportunity.

The trouble with app ideas and useful business information is that they are easily copied and repeated. Once an app appears on a store, cloners leap in and mercilessly repeat the idea. They rapidly flood the store and rob the app of any distinction. Only a few apps are lucky enough to get first-mover advantage and enough traction to stand out.




For example, take a look at Flappy Bird, a simple idea of a game that was cloned more than 1,000 times. What’s more, many of those copies launched within days or a matter of weeks. Your business idea might be higher brow than a few avian pixels in a game. However, the news of rampant copying certainly put off a few people from launching on the app store. Progressive web apps, however, dissuade imitators. Thus, they help to promote your business and ideas to a fresh audience, keeping them engaged.


The Power of Progressive Web Apps

With a progressive web app, you can keep the app on your own site. In this way, you direct only customers or prospects to it. Your app can remain focused on your own business audience or market. This gives you total control over discovery and keeps your app largely free from prying eyes.

A progressive web app is a hybrid of website and app. It can be easily developed using a template-based service. PWA’s can feature all the best parts of apps. This includes stores, ordering, data sharing, messaging, and push notifications. In other words, you’ll be able to keep in touch with your audience easily.

PWA’s offer a range of benefits, including an offline mode. Therefore, your user doesn't need to be connected all the time. PWA’s don't take up as much space as a full app, either. That’s because they have basically a zero install size. Therefore, people are more likely to keep your app on their device even when space is tight.

But their key benefit, whether you develop the app yourself or use a builder service, is there's no need to go through the lengthy app store approval. Nor will you need to deal with updates and other hassles. What’s more, your business can develop the app using templates with no need to go to an outside agency. This will keep your costs down and speed up changes and adding features.


The Modern Way to App

Progressive web apps have been around for a few years now. However, web technology in the guise of wider HTML5 adoption is finally here. This makes progressive web apps suitable for prime time, supported on both iOS and Android devices. Whether your business provides information services or needs a concierge or booking service, a progressive web app is the right way to reach your audience and maintain loyalty.

Most users will not recognize the difference between an app and a PWA. However, your business will gain benefits that include greater stickiness, better response, higher conversions, and reduced bounce rate. What’s more, your website can flow easily into the app.

These benefits are vital to business. As mobile web use continues to grow, it will outstrip desktop use. However, people are becoming wary or tired of apps and app stores. Even relatively young users are getting fed up with searching for new apps. Instead, they stick with a few useful tools and social media.


Stay in Closer Touch with Your Customers

Check out this infographic for some impressive statistics to see how a PWAcan directly affect you and help your business. From a marketing perspective, PWA’s allow you to keep a close eye on your users. You’ll get feedback on their interactions and be able to reach out with push notifications.

Furthermore, if your business is in the realm of providing information, then you can easily update the PWA template. In other words, you can tweak it to sell more or different types of information. And remember, you can do all of this without having to go through app store approvals.


More Benefits and Features

PWA’s offer a wide range of key benefits for startups and small businesses. For example, there's no need to learn coding. There are no additional costs. And you don’t need artistic skills. Content can come directly from your website.

Extra features that can help make your PWA more engaging include useful tools like calendaring. Plus, you can add rich media to show off your company content, and you can link to social media. You can also add online payments for in-app purchases or direct sales. Loyalty features like coupons or money-off vouchers can help keep customers coming back to your store. And you can easily encourage new prospects to sign up.


PWA’s Work Well with Both Apple and Android

Now that Apple supports PWA’s in WebKit as part of iOS 11, both iOS and Android devices provide fertile ground for your business’s growth. What’s more, with a PWA you retain immediate control. Thus, you can protect your apps and ideas from the ravages of the traditional app stores.

The post Progressive Web Apps: A Repeatable Business Opportunity appeared first on Business Opportunities.

Fri, 20 Jul 2018 01:28:22 +0000 Laurie Bennett
Photo by Eugene Dorosh from Pexels

I'm a serious Francophile, especially when it comes to French movies. Cheese, baguettes, wine? Those are all icing on the cake! Recently I convinced some friends of mine to commit to a trip to France. I was planning to take some time away from my business. And I found some great prices for plane tickets that departin two months. However, I don't speak French. Therefore, I wanted to learn how to speak a new language fast.

I want more than anything to be able to communicate in French just as I've seen in all my favorite French flicks. Plus, for some reason I have a reputation among my friends that I can speak French. This was totally not true. I certainly never pretended to know how to speak French. I just love the language and culture.




Maybe I’m Not Good at Learning a New Language

In preparation for my trip, I downloaded a highly rated French language app. Although the animations were cute, it felt more like entertainment. Plus, it wasn't very informative. After a couple of lessons, I decided the app wasn’t going to position me to communicate with French speakers during my trip. I guess on some level, I also thought perhaps the failure was on me. Perhaps I'm just not very good at learning a new language. In any case, I abandoned the app.


Enter OptiLingo

A few days later a friend recommended OptiLingo. My friend explained that it uses an effective learning method called ''guided immersion.'' I gave the program a try. Within the very first lesson, I was speaking French. Unlike the other app or other language programs I've used in the past, this process is much more intuitive. The lessons are laid out so that I learn new words not just by their definition, but by when and how they are used.

Since I love the French culture, this program is right up my alley. As I study my lessons, I get to learn a new language and dive deeper into the culture that I love so much at the same time.


How It Works

OptiLingo uses a unique five-day study plan in which you learn new material and review the oldest previously learned material each day. In this way, I'm able to continually refresh my memory on lessons the program has already introduced. I never feel pressured to commit any words to memory. That’s because I know that I'll have a chance to review the material again down the road. This lightens the mood during each lesson. I feel free to simply enjoy the material. And since so much of the content is framed around everyday French culture, I feel like I'm already getting a taste of what's to come when I do finally embark on my trip to France.


And Now, Bonjour!

The other day, I watched one of my favorite French movies, The 400 Blows. I surprised myself with how much I understood! I'm so happy I decided to go with this program. I now think I'll be in a good position when it comes time to say, ''Bonjour!'' in France.

Update: The folks at OptiLingo are extending a special offer to our readers. Follow this link to get started for just $9.99.

The post How I Started Learning a New Language in Only a Few Weeks with OptiLingo appeared first on Business Opportunities.

Thu, 19 Jul 2018 02:04:01 +0000 Laurie Bennett

Do you need to borrow money for your business? Are you trying to cover some cash flow gaps? In either case, it is essential that you follow certain steps to get your business loan approved.

Here we discuss some essential tips that will help you get your business loan approved quickly.




1. Assess Your Need for Getting a Business Loan Approved

Before getting in touch with the lender, do your homework. Invest time in assessing the extent of your need for financing. Lenders want to see your need defined clearly. Therefore, be able to put forth this information to your lender during your initial meeting.


2. Know Your Credit Score

First, you need to keep one thing in mind. Every lender has different requirements when it comes to their borrowers’ credit scores. However, if you have a high credit score, it will be easier for you to get your business loan approved.

Most lenders take both your personal credit score and your business credit score into consideration before granting a loan. Therefore, you need to maintain both of these scores at high levels. It is also vital that three major credit bureaus approve your credit score.

3. Maintain a High DSCR

If you are eager to get your business loan approved, then you have to maintain a good debt service coverage ratio, often referred to as a DSCR. The debt service coverage ratio evaluates the amount of cash flow you have for paying your obligations.

Try to maintain a DSCR of about 1.25. This will increase your chances of getting your business loan approved.


4. Ensure You Have Sufficient Cash Flow

When you apply for a business loan, most lenders require you to make a down payment of about 20% to 25%. You should have this amount in hand when you apply for your loan. Additionally, lenders want to ensure that you have regular cash flow as well. Therefore, give your lender sufficient evidence that it won’t be a problem for you to make your monthly payments.


5. Conduct Adequate Research

Before applying for the loan, you should find out the lender’s requirements. Learn all you can about how the lender will process your loan application as well. The smart approach is to shop for loans from different lenders. In this way, you can get your hands on the best deal.

As a borrower, you need to keep one thing in mind: The lender is taking a risk by granting you the loan. As a responsible borrower, try to evaluate the loan risks yourself. Then try to perceive how the lender will view those risks.

The benefit of this practice is that you will more easily develop a level of comfort with your lender.


6. Pinpoint Your Business's Strengths

You have to live by the rule that honesty is the best policy when applying for your loan. You must paint a truthful image of your business in your meeting with the lender. Ideally, you should reveal the strengths of your business without exaggeration.



Follow these guidelines and you'll have a much better chance of getting your business loan approved.

The post Get Your Business Loan Approved: 6 Golden Rules to Follow 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:Sorted ascending
    pub/TWiki/HeadlinesPlugin/style.css default css
    lib/TWiki/HeadlinesPlugin/Core.pm plugin core
    lib/TWiki/HeadlinesPlugin.pm plugin perl module
    data/TWiki/HeadlinesPlugin.txt plugin topic
    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-2009, Peter Thoeny, TWIKI.NET; 2005-2007, Michael Daum http://wikiring.de
License: GPL (GNU General Public License)
Plugin Version: v2.21 - 12 Feb 2009
Change History:  
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: TWiki:Plugins/HeadlinesPlugin
Feedback: TWiki:Plugins/HeadlinesPluginDev
Appraisal: TWiki:Plugins/HeadlinesPluginAppraisal

-- TWiki:Main.PeterThoeny - 12 Jan 2009
-- TWiki:Main.MichaelDaum - 13 Sep 2007

Current Tags:
create new tag
, view all tags
Topic revision: r1 - 2009-02-13 - 03:55:45 - TWikiContributor

Computational Fluid Dynamics and Turbulence Mechanics
@ the University of Manchester
This site is powered by the TWiki collaboration platformCopyright & 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