Latest jD Version

jDownloads 1.7.5 stable
Feed Icon Release Date: 2010-08-28

Support jDownloads!

Why do a donation? The development of such an application requires an important amount of time and resources. Your continued donations will allow me to continue the development of exciting new functions.

Latest Tweets

FAQ PDF Print E-mail
Close All | Open All

You can sell download files in many ways.

For all above listed solutions, you must install additional plugins. You find detailed informations on the developer websites.
You can also post your questions about this in the support forum.



When you will use Joomfish to translate data from jDownloads, you must do this:
  • check in Joomfish that all needed content elements files from jDownloads exists (see pic).
joomfish1
  • Are this files not listed, you must first copy these files to the folder: /administrator/components/com_joomfish/contentelements
  • You find the files in the jDownloads installation file.
  • Then go to the Joomfish translate menu und set the language and the jDownloads content type in the select boxes. As sample, when you select the categories, then all existing categories from jDownloads are listed for translation (see pic).joomfish2

First of all, you must install the AlphaUserPoints component.
Then go to the plugin installer from this component and install this three plugins:
  • Special Download Plugin for AlphaUserPoint
  • Standard Download Plugin for AlphaUserPoint
  • Upload Plugin for AlphaUserPoint
Your find this plugins here in the download area.
Go to the AlphaUserPoint rules manager and configure the jDownloads plugins. See pic as sample:

faq_aup_rules1

Go now to the jDownloads configuration tab: Specials.
You see in the middle from the site this options for the AlphaUserPoint support in jDownloads:

faq_aup_jd_config1
  • The first option must you always activate when you will use AlphaUserPoints rules.
  • Normally, It is useful to deactivate the second option.
  • When the third option is deactivated, the simple download rules is used for every user download. So that every download cost the same fix points. The price field in the jDownloads must have for this nothing price values.
  • When you activate the third option, the specially download rule is used.
  • This means:
    • every user download cost the given price value (in points), from the price field in the download
    • has a download price field not a value, the download is free (cost 0 points)  
    • all numeric values in the download price field is used as points (as sample: 5$, 5€, 5 points is always 5 points).
  • Has a user not enough points to download a file, he see a message like this:
Sorry, but you has not enough points to download this file. Please recharge first your point account.
Your points: 22 Needed Points: 25
  • When you will, that the user see how many points a downloaf cost, you must insert the placeholder {aup_points_info} in the summary layout. Then he see this (as sample) in a chosen layout place:
This download cost 12 points. You has current 84 points.

By the way, make sure that you has all download categories access rights set to (minimum): Public view but only registered user can download.
You must also use the summary page, when you will use the AlphaUserPoint rules.


The most users used a menu link like: Downloads and used the same name for the jDownloads upload root folder.
Normally it is not a problem. But when you will use a specially sef/seo component, it is better to change the folder name (as sample to jdownloads).



This function monitored the download folder from jDownloads, when it is activated in the jDownloads configuration.
Whensoever you go to the jDownloads Control panel, all folders and files are scanned from this function.
Is this option deactivated, you can run it manually with a click on: Check downloadarea now.

Exactly, the function does this:
  • it is checked, that all published categories and downloads exist in the upload directories.
    If not, the directories or the download are set automaticly to unpublished.
  • it is checked, that all founded directories are in the DB as categories saved.
    Is a new directory founded, so it is added in the DB as new category.
  • it is checked, that all founded files are in the DB as downloads saved.
    Is a new file founded, so it is added in the DB as new download.
So you can easy add many folders and files in your download area with one click:
  • Upload your folders and files with a FTP program and go to the jDownloads backend control panel
  • After e few seconds the site are new loaded and you see the monitoring report (see Pic).
  • sample_protocol2

Important:
When you will add automaticly many files or folders (> 500), it is recommended to add it in more as one step.
A sample:
  • you will add 200 folders with more as 3000 files
  • copy with your FTP program in every step only max. 500 files to your server
  • after every upload run the monitoring function
Alternativly can you use the category scan option (see Tip below).
Tip:
  • When you has many thousand files, it is recommended to set the monitoring function off in the configuration.
  • Then the backend sites are faster loaded
  • You can then run the monitoring manually in the control panel
  • You can then run also the monitoring for every category individual in the categories list. This is the best way, when you has many thousand files. See pic.
sample_scan_category













  • when you will change the layout go to the layout management in the jDownloads control panel
  • first off all, read the informations on the right site in the layout management control panel
  • jDownloads used a simple layout system with placeholders. So it is easy to change it.
  • you can also use the css classes from the jdownloads_fe.css or add new css classes
A sample:
  • many users has websites with a dark background color so that the installed default layouts colours do not match
  • so you must open all activated layout types (categories, download, details and summary layouts) for editing
  • you see now, that the most installed default layouts use nothing css classes
  • so you can change the background color directly in the layout

When you install jDownloads as default is used this star graphic: star_sample
But you can also use this star graphic for your ratings:  star_sample2

When you will change it, you must do this:
  • run your FTP program and connect to your website
  • search in this folder: /components/com_jdownloads/rating/css the file: ajaxvote.css and rename it to: ajaxvote_old.css
  • in the same folder you find the file: ajaxvote2.css. Rename this file to: ajaxvote.css
  • now you use the alternativ star rating graphic
  • you can always change it again

Yes, this is possible.
  You must do this:
  • go to the jDownloads configuration TAB: Monitoring 
  • deactivate the option: Monitor all filetypes? So it scans not more all file types (see pic).
  • password1 














  • go to the jDownloads configuration TAB: Security
  • make sure that the option: Protecting your Download-directory? is set off (see pic).
  • password2







  • then upload a .htaccess file with the password in the chosen categoriey folder and test it.
  • when you need more informations to create a password file, you find it here.

Yes, this is possible.
You must do this:
  • go to the jDownloads configuration TAB: Monitoring 
  • deactivate the option: Monitor all filetypes? So it scans not more all file types (see pic).
  • password1 














  • go to the jDownloads configuration TAB: Security
  • make sure that the option: Protecting your Download-directory? is set off (see pic).
  • password2







  • then upload a .htaccess file with the passwort in the chosen categoriey folder and test it.

PAD is the Portable Application Description, and it helps authors provide product descriptions and specifications to online sources in a standard way, using a standard data format that will allow webmasters and program librarians to automate program listings. PAD saves time for both authors and webmasters. For more, see the PAD FAQ on www.asp-shareware.org.


One of the problems, you can run into with Joomla (or other CMS or PHP Scripts) is a thing called "wwwrun" problem. This is caused when your server is running PHP as an Apache module and not as CGI. In bad cases you will not be abel to change you Joomla files with an ftp client or upload anything new.

Please read this article on www.pixelwonders.de when you will looks a little bit deeper into this problem.

 

As many users continue to have difficulties related to file size while uploading files with jDownloads, I decided to try to shed some light on the difference between the upload settings in your jDownloads backend and the global configuration settings of the webserver where your site is hosted. In a nutshell, the settings you make in your jDownloads backend always obey those of the webserver. This means, for example, that you won't be able to set a maximum file size for uploads that is larger than the value for maximum file size in your webservers global settings.

Like most other Joomla! components, most jDownloads code was written in PHP. PHP is a server side application, which means that all functions of a PHP script are executed on the server where your web pages are located. This works quite differently from a client side Java applet, which excutes on your machine after it was is downloaded together with the page you requested to view. Hence, you may easily influence the behavior of Java based script, for example by enabling or disabling options in the configuration of your web browser. This isn't at all the case with PHP: As everything runs on the webserver, PHP configuration settings can only be changed there, and only so if you have administrative access to that server.

Please note, by the way, that this has nothing to do with your Joomla! backend, nor with your access to the control panel of your hosting account. Administrative access, or root access, to the global configuration settings of a webserver is reserved to the people who own and/or professionally administer it (= in most cases, your webhost).

PHP configuration settings are within a file called php.ini, which is located on the webserver. The exact location of this file is displayed under System >> System Info >> PHP Info >> Configuration File php.ini path.

As I said earlier, you can only lay your hands upon this file if you have administrative access. In practice, this means that it's entirely out of reach for you. You may, however, view the current settings made within php.ini.
If you have Joomla!, a quick way to do this is to look them up in your backend under System >> System Info >> PHP Info.

Alternatively, you may also create a simple text file, call it info.php (or the likes), and place the following lines into it:
<?php
phpinfo();
?>

Then, upload this file to your server and point your browser to it. The result is only slightly different from the info displayed in your Joomla! backend. In both cases, you'll be able to examine the specific settings made by the system administrator in regard to PHP....

.... which brings us back to jDownloads: No matter which upload setting you chose in your jDownloads configuration panel, all will be executed by PHP and hence ultimately obey the global settings PHP settings made by the system administrator. Many of such general settings exist, and they often influence one another as well.

Before I go into detail on the particular parameters related to file upload, another important note:
The jDownloads configuration manager provides you with an option to determine user rights in regard to the size and the amount of files they may upload. Please note that these settings exclusively regard the jDownloads frontend-upload, and their only purpose is to allow you to place limitations on whatever is allowed in your servers php.ini.

Hence, you won't be able to expect a setting for a a very large file size you make in your jDownloads backend to have an effect unless the settings inside php.ini allow for it. If the settings within your servers php.ini determine a maximum file size for uploads which is smaller than the one you entered in your jDownloads backend, the setting in php.ini is the one that counts.

Now, the php-ini settings regarding upload:
  • file_uploads
file_uploads determines whether uploads can be made to the server via HTTP or not. If this is set to OFF, no uploads of any kind are allowed.
  • upload_max_filesize
upload_max_filesize limits the maximum size of an individual file be uploaded. Normally, this value is entered in MB (Megabyte). During FTP upload this value concerns the size of each individual file. During batch upload, however, this value concerns the size of the entire zip file you upload, which is where limitations can make themselves more easily apparent.
  • post_max_size
upload_max_filesize is not the only value that determines the maximum size of a file to be uploaded. post_max_size is among the settings that influence upload_max_filesize. It determines the maximum size of POST files. Usually, file uploads are POST files. To allow the upload of larger files, the value given in post_max_size must be larger than the value in upload_max_filesize.
  • memory_limit
memory_limit determines the maximum amount of memory that a script may take up during an operation. The value is usually given in bytes. This value should be larger than the one given in post_max_size. A value of -1 means that there are no limitatons. As the exact amount of memory sed by a script during upload is difficult to predict, memory_limit is a setting to watch out for.The above 3 settings are essential in configuring  file upload.
Their relation should always be as such:

memory_limit >> post_max_size > upload_max_filesize

If upload_max_filesize was set to 2 MB, a batch upload of 4MB zip file for example would simply be bound to fail.

These 3 settings, however, are not the only ones that determine a smooth functioning of your file uploads. Another important setting, well capable of ruining your uploads even if correct values were set for upload_max_files, post_max_size and memory_limit, is this:
  • max_execution_time
max_execution_time defines the maximum time (in seconds, or rather miliseconds!) that a script is allowed to take up in order to perform an operation. If it takes any longer, the parser (=server side software that interpretates the script in accordance to the current settings) will halt the execution. This is a critical matter especially for uploads, as upload and extraction of a large zipfile, image copying and resizing etc. all take their time.

Add a slow internet connection to this, and the end is in sight rather quickly. jDownloads will go throught the tasks until it hits the time limit set in php.ini and then stops. This is why sometimes only a part of zip file is processed during a batch upload with jDownloads: The time limit has been reached and the parser has halted the execution of script. We are currently looking for ways to avoid such undesired interruptions, but the matter isn't a trivial one.
  • Apache Settings
PHP settings are not the only settings on a server that can have an impact on your uploads. Even with correct values for the settings we've just discussed, server configuration parameters that rank even higher than PHP settings may interfere. You'll know that this was the case when the error message you see is no longer issued by PHP but by another application, most likely Apache, the webserver software itself. It shouldn't come as a surprize that access to Apache settings is even more restricted than access to PHP settings, and that hosts are rarely willing to make changes to them.

It's worth noting here that host related issues of that sort would be of a rather general nature, and would cause problems not with one particular PHP script but many others as well.

I hope this text helped to add some clarity regardiing the the processes involved in the upload functionality of jDownloads. Unfortunately, many factors are at play, and not all -hardly any, infact- lie within the reach or the responsibility of jDownloads.

When you run into problems, keep in mind that you can also upload your files via FTP. With the jDownloads auto monitoring function, you can add easy the new uploaded folders or files in the jDownloads database tables. 

Of course there are yet other factors out there that may create problems, such as wwwrun, but we'll talk about these another time.

Source by arrangement with: www.joomgallery.net

As many users continue to have difficulties related to file size while uploading images with PonyGallery ML, I decided to try to shed some light on the difference between the upload settings in your PonyGallery ML backend and the global configuration settings of the webserver where your site is hosted. In a nutshell, the settings you make in your PonyGallery ML backend always obey those of the webserver. This means, for example, that you won't be able to set a maximum file size for uploads that is larger than the value for maximum file size in your webservers global settings.

Like most other Joomla! components, most PonyGallery ML code was written in PHP. PHP is a server side application, which means that all functions of a PHP script are executed on the server where your web pages are located. This works quite differently from a client side Java applet, which excutes on your machine after it was is downloaded together with the page you requested to view. Hence, you may easily influence the behavior of Java based script, for example by enabling or disabling options in the configuration of your web browser. This isn't at all the case with PHP: As everything runs on the webserver, PHP configuration settings can only be changed there, and only so if you have administrative access to that server.

Please note, by the way, that this has nothing to do with your Joomla! backend, nor with your access to the control panel of your hosting account. Administrative access, or root access, to the global configuration settings of a webserver is reserved to the people who own and/or professionally administer it (= in most cases, your webhost).
 
PHP configuration settings are within a file called php.ini, which is located on the webserver. The exact location of this file is displayed under System >> System Info >> PHP Info >> Configuration File php.ini path.
 
As I said earlier, you can only lay your hands upon this file if you have administrative access. In practice, this means that it's entirely out of reach for you. You may, however, view the current settings made within php.ini.
If you have Joomla!, a quick way to do this is to look them up in your backend under System >> System Info >> PHP Info.

Alternatively, you may also create a simple text file, call it info.php (or the likes), and place the following lines into it:

<?php
 phpinfo();
?>

Then, upload this file to your server and point your browser to it. The result is only slightly different from the info displayed in your Joomla! backend. In both cases, you'll be able to examine the specific settings made by the system administrator in regard to PHP....

 .... which brings us back to PonyGallery ML: No matter which upload setting you chose in your PonyGallery ML configuration panel, all will be executed by PHP and hence ultimately obey the global settings PHP settings made by the system administrator. Many of such general settings exist, and they often influence one another as well.
 

Before I go into detail on the particular parameters related to file upload, another important note:
The PonyGallery ML configuration manager provides you with an option to determine user rights in regard to the size and the amount of images they may upload. Please note that these settings exclusively regard the PonyGallery ML frontend-upload, and their only purpose is to allow you to place limitations on whatever is allowed in your servers php.ini.

Hence, you won't be able to expect a setting for a a very large file size you make in your PonyGallery ML backend to have an effect unless the settings inside php.ini allow for it. If the settings within your servers php.ini determine a maximum file size for uploads which is smaller than the one you entered in your PonyGallery ML backend, the setting in php.ini is the one that counts.



Now, the php-ini settings regarding upload:
 


file_uploads


file_uploads determines whether uploads can be made to the server via HTTP or not. If this is set to OFF, no uploads of any kind are allowed.

 

upload_max_filesize

upload_max_filesize limits the maximum size of an individual file be uploaded. Normally, this value is entered in MB (Megabyte). During FTP upload or the upload of single images through PGML, this value concerns the size of each individual file. During batch upload, however, this value concerns the size of the entire zip file you upload, which is where limitations can make themselves more easily apparent.

 

post_max_size

upload_max_filesize is not the only value that determines the maximum size of a file to be uploaded. post_max_size is among the settings that influence upload_max_filesize. It determines the maximum size of POST files. Usually, file uploads are POST files. To allow the upload of larger files, the value given in post_max_size must be larger than the value in upload_max_filesize.

 

memory_limit

memory_limit determines the maximum amount of memory that a script may take up during an operation. The value is usually given in bytes. This value should be larger than the one given in post_max_size. A value of -1 means that there are no limitatons. As the exact amount of memory sed by a script during upload is difficult to predict, memory_limit is a setting to watch out for.


An approximate of the minimal use of virtual memory by Ponygallery ML (or the GL library, respectively) during the resizing of the images can be derived by using the following formula:

image width in pixel * image height in pixel * bit depth in byte = required memory in byte

As you see, memory load is determined by the dimensions of the image and its bit depth, rather than by the space it takes up on your hard disk. Say we had the server resize an image of  2272 x 1704 px and a depth of 24 bit (24 bit = 3 bytes), then the result would turn out to be 11 MB of required memory (2272 x 1704 x 3 = 11.614.464 bytes). That's for the resizing alone, to which we'd still need to add the memory required for the Ponygallery ML scripts (appr.8 MB.). This already gives us around 20 MB alltogether, and if  memory_limit  has been set to 16 MB, that's the end of the line for us already.




The above 3 settings are essential in configuring  file upload.
Their relation should always be as such:

memory_limit >> post_max_size > upload_max_filesize

If upload_max_filesize was set to 2 MB, a batch upload of 4MB zip file for example would simply be bound to fail.

These 3 settings, however, are not the only ones that determine a smooth functioning of your file uploads. Another important setting, well capable of ruining your uploads even if correct values were set for upload_max_files, post_max_size and memory_limit, is this:



max_execution_time


max_execution_time defines the maximum time (in seconds, or rather miliseconds!) that a script is allowed to take up in order to perform an operation. If it takes any longer, the parser (=server side software that interpretates the script in accordance to the current settings) will halt the execution. This is a critical matter especially for uploads, as upload and extraction of a large zipfile, image copying and resizing etc. all take their time.

Add a slow internet connection to this, and the end is in sight rather quickly. Ponygallery ML will geo throught the tasks until it hits the time limit set in php.ini and then stops. This is why sometimes only a part of zip file is processed during a batch upload with Ponygallery ML: The time limit has been reached and the parser has halted the execution of script. We are currently looking for ways to avoid such undesired interruptions, but the matter isn't a trivial one.





Apache Settings

PHP settings are not the only settings on a server that can have an impact on your uploads. Even with correct values for the settings we've just discussed, server configuration parameters that rank even higher than PHP settings may interfere. You'll know that this was the case when the error message you see is no longer issued by PHP but by another application, most likely Apache, the webserver software itself. It shouldn't come as a surprize that access to Apache settings is even more restricted than access to PHP settings, and that hosts are rarely willing to make changes to them.

It's worth noting here that host related issues of that sort would be of a rather general nature, and would cause problems not with one particular PHP script but many others as well. Typically, on a host where uploads with Ponygallery ML chronically fail in spite of correct or even generous PHP settings, they will also fail with ICE Gallery, other PHP galleries, or other scipts that upload and process large files (which rules out Ponygallery ML as a principal culprit).





I hope this text helped to add some clarity regardiing the the processes involved in the upload functionality of Ponygallery ML. Unfortunately, many factors are at play, and not all -hardly any, infact- lie within the reach or the responsibility of Ponygallery ML.

When you run into problems, keep in mind that FTP upload mode of Ponygallery ML circumvents most of the difficulties that can be imposed by php.ini settings (with the exception of max_execution_time).
 


Of course there are yet other factors out there that may create problems, such as wwwrun, but we'll talk about these another time.
When you will not use the summary page for your downloads, you must do this:
  • Go to the configuration and activate the direct download option (see pic)
  • Activate in the Layout Administration a layout without checkboxes
  • You can also change your actually used layout. Then you must remove the checkbox placeholder and use the {url_download} placeholder
  • direct_download













Please read informations here!
You can not edit categories or downloads in the frontend. This is only in the backend possible.
With jDownload  you can not set the access rights to a download file by a specific user or user groups. You can only use the groups: all, registered, special - to set the access rights from categories. New access right functions are planed in the future.
You can see a sample in the layouts administration
  • Go in the backend to the jDownloads control panel
  • Click on the layouts administration symbol
  • click on the 'Categories' symbol
  • Now you see ...
faq_layout_1
















  • Click now on: Sample with 4 Columns
  • You see now in the layout editor field this...
column2




















  • In this sample layout, you can see we you can create a category layout with more as one columns.
  • For every column, you must insert the placeholders with a consecutive numbering on the end.
  • As sample: {cat_title1} {cat_title2} {cat_title3} for the download titles with three columns.
  • You must use this system for all used placeholders between {cat_info_begin} and {cat_info_end}.
  • At last make sure that you have set the correctly value in the field: Amount of columns.
  • Now save the file and activate the layout. You can now test the result in the frontend.

That is pretty straight forward:

  • When you uninstall jDownloads nothing will deleted. But first of all, make a backup from the database!
  • Have you changed the jDownloads language files, make a backup from the files!
  • Navigate to the Joomla installer and select the new jDownloads component package for installation.
  • Update your jdownloads menu entry.
  • Adjust your jDownloads configuration afterwards.
System Requirements
  • PHP 5.0 +
  • MySQL 4.1 +
  • Joomla 1.5.4 +

Installing jDownloads is pretty straight forward:

  • Navigate to the Joomla Installer and select the jDownloads component package for installation.
  • Navigate to the Joomla Installer and install the jDownloads Search Plugin if needed.
  • Navigate to the Joomla Installer and install a jDownloads translation package if needed.

After installing continue with the initial configuration:

  • Enable the jDownloads content plugin if installed
  • Enable the jDownloads search plugin if installed
  • Adjust the configuration parameters to your needs.
  • Check the folder for the uploaded files. Default: YOUR_JOOMLA_ROOT/downloads.
  • Create your download categories structure before you create a first download and upload a file.
  • jDownloads needs at least one menuitem to work properly. Create a menuitem for jDownloads in the menu manager and pointing it to the jDownloads component.

When you activate the htaccess protection, only the jDownload PHP script can send the download file. All direct accesses to the download folder, view a 404 Forbidden message.

Important:

  • When you will use the MP3 Player: you must set off the htaccess option!
  • When you will deactivate the option, that the files is sended via the PHP script: you must set off the htaccess option!

Since jDownloads v1.7.0 you can it ease create in the Joomla menu manager. But when you make a update from a prior version to jD 1.7.x, you must rebuild all menu links to jDownloads!

Only for older versions:
How-to:

- go in the frontend to the needed category
- copy this from the url adress: index.php?option=com_jdownloads&Itemid=131&task=viewcategory&catid=3 (as sample)
- create a normal internal link to jDownloads component and save it
- run your phpmyadmin and load your database tables
- search the table: jos_menu and click on view data
- go to the last data set
- here you see the last created menu link
- click on the edit symbol
- past now you above copied link in the field: link (make it before empty)
- save it
Now, you have a internal link to the category
Watch out!
Make this only, when you have experience with databases and phpmyadmin.