Development
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
February 2005
- 66 participants
- 347 discussions
Project: Drupal
Version: 4.5.2
Component: base system
Category: feature requests
Priority: normal
Assigned to: Anonymous
Reported by: jhefmv24
Updated by: jhefmv24
Status: patch
Attachment: http://drupal.org/files/issues/common.inc_6.patch (1.37 KB)
i forgot to remove my hardcoded proxy name.. sorry
Ber, which is not drupal compliant?
jhefmv24
Previous comments:
------------------------------------------------------------------------
May 19, 2004 - 13:01 : jhefmv24
Attachment: http://drupal.org/files/issues/common.inc (37.11 KB)
I think the RSS feeds don't work if there is proxy server running. The
request/connection is somehow being blocked.
The connection should be made first to the proxy and once it is
established, then request can made.
I think the core function drupal_http_request() under
/includes/common.inc doesn't support this.
One workaround is change the code from:
<?php
switch ($uri['scheme']) {
case 'http':
//$fp = @fsockopen($uri['host'], ($uri['port'] ? $uri['port']
: 80), $errno, $errstr, 15);
?>
into:
<?php
//use proxy settings
$fp = @fsockopen('proxy2', '8080');
?>
And then create the request by change from:
<?php
$request = "$method $path HTTP/1.0\r\n";
?>
Into:
<?php
$request = "$method ".$uri['scheme']."://".$uri['host'].$path."
HTTP/1.1\r\n";
?>
And comment out the lines:
<?php
$request .= implode("\r\n", $defaults);
?>
------------------------------------------------------------------------
February 2, 2005 - 07:38 : Anonymous
Did this ever get taken care of in 4.5.2. I can't seem to get any feed
to work from behind a firewall. Getting error....
Failed to parse RSS feed Microsoft Security Info: 10060 A connection
attempt failed because the connected party did not properly respond
after a period of time, or established connection failed because
connected host has failed to respond..
At home this same feed works fine, so I know it's not the feed.
Thanks,
SlackNet
------------------------------------------------------------------------
February 4, 2005 - 12:24 : jhefmv24
Attachment: http://drupal.org/files/issues/common.inc_4.patch (1.37 KB)
+1 on having a facility to modify proxy settings...
here's a patch of /includes/common.inc for drupal-4.4.2 version
------------------------------------------------------------------------
February 4, 2005 - 12:25 : jhefmv24
Attachment: http://drupal.org/files/issues/system.module_2.patch (956 bytes)
+1 on having a facility to modify proxy settings...
here's a patch of /modules/system.module for drupal-4.4.2 version
------------------------------------------------------------------------
February 4, 2005 - 12:31 : jhefmv24
Attachment: http://drupal.org/files/issues/common.inc_5.patch (1.35 KB)
patch for /includes/common.inc 4.5.2 version to facilitate rss feeds
behind firewall
------------------------------------------------------------------------
February 4, 2005 - 12:32 : jhefmv24
Attachment: http://drupal.org/files/issues/system.module_3.patch (1.03 KB)
patch of /modules/system.module 4.5.2 version to set proxy settings
------------------------------------------------------------------------
February 4, 2005 - 16:23 : Bèr Kessels
hi, tso small issues. one is described at: http://drupal.org/node/9706
The other is that the code is not "drupal compliant". Drupal developrs
are (luckily) very picky about spaces, indentation, etc.
--
View: http://drupal.org/node/7881
Edit: http://drupal.org/project/comments/add/7881
1
0
On Wed, 02 Feb 2005 03:47:36 -0500, Andre Molnar
<mcsparkerton(a)yahoo.co.uk> wrote:
> Dries Buytaert wrote:
> > That makes the menu too long/flat, IMO.
> > One alternative would be to have 'access control' and 'profile' tabs
> > directly under 'admin - user', instead of under 'admin - user -
> > configure' (one level less deep).
>
> Patch to follow if the attached screen capture is what you would like.
Should be "profile settings" (no "s" on profile).
And configure contains the following still?
* settings
* permissions
* roles
Personally, I'd love to have an something like Administer ->
Permissions that had *just* permissions and roles. Yes, these are tied
to "users", but they are a separate activity except when actually
applying roles to users. As well, any node access-related options
would go in this area (node privacy by role, taxonomy access, etc.).
Following that method, configure under user becomes just settings, and
we've eliminated an entire level under user.
We talk a lot about "setting permissions", but it is at least 4 clicks
to get to the permissions screen and not visible at all until you are
at Admin > Users > Configure.
--
Boris Mann
http://www.bryght.com
6
18
Project: Drupal
Version: 4.5.2
Component: base system
Category: feature requests
Priority: normal
Assigned to: Anonymous
Reported by: jhefmv24
Updated by: Bèr Kessels
Status: patch
hi, tso small issues. one is described at: http://drupal.org/node/9706
The other is that the code is not "drupal compliant". Drupal developrs
are (luckily) very picky about spaces, indentation, etc.
Bèr Kessels
Previous comments:
------------------------------------------------------------------------
May 19, 2004 - 06:01 : jhefmv24
Attachment: http://drupal.org/files/issues/common.inc (37.11 KB)
I think the RSS feeds don't work if there is proxy server running. The
request/connection is somehow being blocked.
The connection should be made first to the proxy and once it is
established, then request can made.
I think the core function drupal_http_request() under
/includes/common.inc doesn't support this.
One workaround is change the code from:
<?php
switch ($uri['scheme']) {
case 'http':
//$fp = @fsockopen($uri['host'], ($uri['port'] ? $uri['port']
: 80), $errno, $errstr, 15);
?>
into:
<?php
//use proxy settings
$fp = @fsockopen('proxy2', '8080');
?>
And then create the request by change from:
<?php
$request = "$method $path HTTP/1.0\r\n";
?>
Into:
<?php
$request = "$method ".$uri['scheme']."://".$uri['host'].$path."
HTTP/1.1\r\n";
?>
And comment out the lines:
<?php
$request .= implode("\r\n", $defaults);
?>
------------------------------------------------------------------------
February 2, 2005 - 00:38 : Anonymous
Did this ever get taken care of in 4.5.2. I can't seem to get any feed
to work from behind a firewall. Getting error....
Failed to parse RSS feed Microsoft Security Info: 10060 A connection
attempt failed because the connected party did not properly respond
after a period of time, or established connection failed because
connected host has failed to respond..
At home this same feed works fine, so I know it's not the feed.
Thanks,
SlackNet
------------------------------------------------------------------------
February 4, 2005 - 05:24 : jhefmv24
Attachment: http://drupal.org/files/issues/common.inc_4.patch (1.37 KB)
+1 on having a facility to modify proxy settings...
here's a patch of /includes/common.inc for drupal-4.4.2 version
------------------------------------------------------------------------
February 4, 2005 - 05:25 : jhefmv24
Attachment: http://drupal.org/files/issues/system.module_2.patch (956 bytes)
+1 on having a facility to modify proxy settings...
here's a patch of /modules/system.module for drupal-4.4.2 version
------------------------------------------------------------------------
February 4, 2005 - 05:31 : jhefmv24
Attachment: http://drupal.org/files/issues/common.inc_5.patch (1.35 KB)
patch for /includes/common.inc 4.5.2 version to facilitate rss feeds
behind firewall
------------------------------------------------------------------------
February 4, 2005 - 05:32 : jhefmv24
Attachment: http://drupal.org/files/issues/system.module_3.patch (1.03 KB)
patch of /modules/system.module 4.5.2 version to set proxy settings
--
View: http://drupal.org/node/7881
Edit: http://drupal.org/project/comments/add/7881
1
0
Project: Drupal
Version: 4.4.2
Component: base system
Category: feature requests
Priority: minor
Assigned to: Anonymous
Reported by: liquidx
Updated by: Bèr Kessels
Status: patch
Hi,
you use variable_get('proxy_name', '') , but that is not defined
anywhere. I would plead against another config option, or conf.php
options.
I am no proxy guru, so the following suggestion might be impossible:
* add the proxy port to the $base_url and try to re-arrange your logic
in such a way ,that it will detect the port from the $base_url. If
found the variabale will be set, and userd.
* or use the default system, but add some logic to the fsockopen, that,
if it fails, it will try again, with proxy, if that was sucessfull, set
the variable.
Bèr
Bèr Kessels
Previous comments:
------------------------------------------------------------------------
August 3, 2004 - 04:39 : liquidx
Attachment: http://drupal.org/files/issues/drupal-cvs-20040802-proxy.diff (1.96 KB)
My drupal site is behind a firewall which doesn't allow outgoing port 80
connections except if they go through an http proxy. normally that
doesn't really harm anything, except when i start using XML-RPC or try
to get RSS/Atom feed from other blogs.
So I've written a quick patch to add http_proxy support in conf.php.
I'm not sure whether that is the best place to put it, but if you think
people might want a UI to change that, I could do that. But I suspect
that proxy settings don't change much (its not like you migrate a
drupal web site to different isps everyday :), so conf.php seems like a
good choice.
Cheers,
Alastair Tse
------------------------------------------------------------------------
August 3, 2004 - 04:42 : liquidx
Attachment: http://drupal.org/files/issues/drupal-cvs-20040802-proxy-v2.diff (1.96 KB)
slight typo in the comment, i never get things right the first time
round :(
------------------------------------------------------------------------
August 3, 2004 - 05:13 : Anonymous
HOW TO MAKE 1000'S FROM 6$! READ PLEASE!
How to afford anything you want, no joke! Read, it cant hurt!
READING THIS COULD CHANGE YOUR LIFE! AND RICH!
I found this on a bulletin board and decided to try it. A little
while back, I was browsing through newsgroups and came across
an article similar to this that said you could make
thousands of dollars within weeks with only an initial investment of
$6.00! So I thought, "Yeah right, this must be a scam", but
like most of us, I was curious, so I kept reading. Anyway, it said
that you send $1.00 to each of the 6 names and addresses stated in the
article. You then place your name and address in the bottom of
the list at #6, and post the article in at least 200 newsgroups.
(There are thousands) No catch, that was it. So after thinking it
over, and talking to a few people first, I thought about trying it. I
figured: "what have I got to lose except 6 stamps and $6.00,
right?" Then I invested the measly $6.00. Well GUESS WHAT!!...
within 7 days, I started getting money in the mail! I was shocked? I
figured it would end soon, but the money just kept coming in. In my
first week, I made about $25.00. By the end of the second week I had
made a total of over $1,000.00! In the third week I had over
$10,000.00 and it's still growing. This is now my fourth week and I
have made a total of just over $42,000.00 and it's still coming in
rapidly. It's certainly worth $6.00, and 6 stamps, I have spent more
than that on the lottery!! Let me tell you how this works and most
importantly, why it works... Also, make sure you print a copy of this
article NOW, so you can get the information off of it as you need it.
I promise you that if you follow the directions exactly, that you
will start making more money that you thought possible by doing
something so easy!
Suggestion: Read this entire message carefully! (print it out or
download it.) Follow the simple directions and watch the money
come in!
It's easy. It's legal. And, your investment is only $6.00 (plus
postage).
IMPORTANT: This is not a rip-off; it is not indecent; it is not
illegal; and it is virtually no risk - it really works!!!
IMPORTANT2: The $1.00 for each person on the list is for keeping you
up to date and for putting you in all our newsgroups. So you will
make just as much as we do!!!
If all of the following instructions are adhered to, you will receive
extraordinary dividends.
PLEASE NOTE:
Please follow these directions EXACTLY, and $50,000 or more can be
yours in 20 to 60 days. This program remains successful because of
the honesty and integrity of the participants. Please continue its
success by carefully adhering to the instructions.
You will now become part of the Mail Order business. In this business
your product is not solid and tangible, it's a service. You are in
the business of developing Mailing Lists. Many large corporations are
happy to pay big bucks for quality lists. However, the money made
from the mailing lists is secondary to the income which is made from
people like you and me asking to be included in that list.
Here are the 4 easy steps to success:
STEP 1: Get 6 separate pieces of paper and write the following on
each piece of paper "PLEASE PUT ME ON YOUR MAILING LIST." Now
get 6 US $1.00 bills and place ONE inside EACH of the 6 pieces of
paper so the bill will not be seen through the envelope (to prevent
thievery). Next, place one paper in each of the 6 envelopes and seal
them. You should now have 6 sealed envelopes, each with a piece of
paper stating the above phrase, your name and address, and a $1.00
bill. What you are doing is creating a service. This is absolutely
legal? You are requesting a legitimate service and you are paying for
it! Like most of us I was a little skeptical and a little worried
about the legal aspects of it all. So I checked it out with the U.S.
Post Office (1-800-725-2161) and they confirmed that it is indeed
legal! Mail the 6 envelopes to the following addresses:
1.) GLEN RAY CAMPBELL Jr.
919 Virginia Ct.
Panama City,Fl 32404,usa
2.)Heather Angel
4244 46th St.
San Diego, Ca. 92115
3.) Alexander Dolstra
Frederik Hendrik straat 37
3143 LB Maassluis
the Netherlands
4.) J. Kirk
2360 Forbes Ave.
Santa Clara, CA 95050
5.) N. Hernandez
PO Box 712
Crystal Beach, Fl. 34681, usa
6.)D.Herela
849 La Fayette apt.6-D
El Paso, TX. 79907, usa
STEP 2: Now take the #1 name off the list that you see above, move
the other names up (6 becomes 5, 5 becomes 4, etc. ...) and add YOUR
name as number 6 on the list.
STEP 3: Change anything you need to, but try to keep this article as
close to the original as possible. Now, post your amended article to
at least 200 newsgroups. (I think there are close to 24,000 groups.)
All you need is 200, but remember, the more you post, the more
money you make!
This is perfectly legal! If you have any doubts, refer to Title 18
Sec. 1302 & 1241 of the Postal lottery laws.
Keep a copy of these steps
for yourself and, whenever you need money, you can use it again, and
again.
PLEASE REMEMBER that this program remains successful because of
the honesty and integrity of the participants and by their
carefully adhering to the directions. Look at it this way, if
you are of integrity, the program will continue and the money
that so many others have received will come your way, too.
NOTE: You may want to retain every name and address sent to you,
either on a computer or hard copy and keep the notes people send
you. This VERIFIES that you are truly providing a service. (Also,
it might be a good idea to wrap the $1 bill in dark paper to reduce
the risk of mail theft.)
So, as each post is downloaded and the directions carefully followed,
six members will be reimbursed for their participation as a List
Developer with one dollar each. Your name will move up the list
geometrically so that when your name reached the #1 position you
will be receiving thousands of dollars in CASH!!! What an opportunity
for only $6.00 ($1.00 for each of the first six people listed above).
Send it now, add your own name to the list and you're in business!
---DIRECTIONS----FOR HOW TO POST TO NEWSGROUPS------------------
STEP 1:
You do not need to re-type letter to your own posting. Simply
put your cursor at the beginning of this letter and drag your
cursor to the bottom of this document, and select 'copy' from
the edit menu. This will copy the entire letter into the
computer's memory.
STEP 2:
Open a blank 'notepad' file and place your cursor at the top of
the blank page. From the 'edit' menu select 'PASTE'. This will
paste a copy of the letter into notepad so that you can add your
name to the bottom of the list and to change the numbers of the
list.
STEP 3:
Save your new notepad file as a '.txt' file. If you want to do
your postings in different settings, you'll always have this
file to go back to.
STEP 4:
Use Netscape or Internet Explorer and try search for various
newsgroups (on-line forums, message boards, chat sites,
discussions).
STEP 5:
Visit these message boards and post this article as a new message
by highlighting the text of this letter and selecting 'PASTE'
from the edit menu. Fill in the Subject, this will be the header
that everyone sees as they scroll through the list of postings
in a particular group, click the post message button. You're done
with your first one! Congratulations... That is it! All you
have to do is jump to different newsgroups and post away, after you
get the hang of it, it will take about 30 seconds for each
newsgroup! ** REMEMBER, THE MORE NEWSGROUPS YOU POST IN, THE MORE
MONEY YOU WILL MAKE!! BUT YOU HAVE TO POST A MINIMUM OF 200**
That is it! You will begin receiving money form
around the world within
days! You may eventually want to rent a P.O.
Box due to the large amount
of mail you will receive. If you wish to
stay anonymous, you can invent
a name to use, as long as the postman will deliver it.
**JUST MAKE SURE ALL THE ADDRESSES ARE CORRECT.**
Now the WHY part:
Out of 200 postings, say I receive only 5 replies (a very low
example). So then I made $5.00 with my name at #6 on the letter.
Now, each of the 5 persons who just sent me $1.00 make the MINIMUM 200
postings, each with my name at #5 and only 5 persons respond to
each of the original 5, this is an additional $25.00 for me.
Now those 25 each make 200 MININUM posts with my name at #4 and only 5
replies each. This brings in an additional $125.00. Now, those 125
persons turn around and post the MINIMUM 200 with my name at #3
and receive 5 replies each, I will make an additional $625.00.
Ok, now here is the fun part, each of those 625 people post a MINIMUM
200 letters with my name at #2 and they receive 5 replies each. That
just made me $3,125.00!!! Those 3,125 persons will all deliver this
message to 200 newsgroups with my name at #1 and if still 5 persons
per 200 react, I will receive an additional $15,625.00!! With an
investment of only $6.00! AMAZING! When your name is no longer
on the list, you just take the latest posting in the newsgroups,
and send out another $6.00 to names on the list, putting your name at
number 6 again. And start posting again. The thing to remeber
is: do you realize that thousands of people all over the world are
joining the internet and reading these articles everyday? JUST
LIKE YOU are now!! So, can you afford $6.00 and see if it really
works?? I
think so... People have said, "what if the plan is played out and no
one sends you the money? So what! What are the chances of that
Happening when there are tons of new honest users and new honest
people who are joining the internet and newsgroups everyday and
are willing to give it a try? Anyway, it is only $6.00 for a chance
at thousands. Estimates are at 20,000 to 50,000 new users, every
day, with thousands of those joining the actual internet.
Remember, play FAIRLY and HONESTLY and this will really work. You
wouldn't want someone to cheat you the same way you may be cheating!
HOW TO MAKE 1000'S FROM 6$! READ PLEASE!
------------------------------------------------------------------------
August 4, 2004 - 09:54 : TDobes
This seems like a possibly useful patch for those stuck in an
environment where they must use a proxy. (intranets?) I have no proxy
set up at the moment with which to test, but +1 to the functionality.
------------------------------------------------------------------------
December 3, 2004 - 12:47 : Steven
If we use HTTP/1.1 (using the Host header), I think we can send exactly
the same request to both a proxy and the real server. It might make the
code a bit cleaner.
------------------------------------------------------------------------
January 26, 2005 - 05:01 : Steve Stock
That's correct, HTTP/1.1 explicitly requires servers to accept an
absolute URI in the request-line (which of course proxies already
require). See
http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2 for
details. Note: a host header is still required.
The drawback is all HTTP/1.1 applications must be able to accept the
chunked transfer coding, see
http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4 (third
paragraph above section 4.5). I don't know if Drupal supports this
(doesn't look like it).
While not as nice, for now it appears simpler to implement a proxy
along the lines of this patch. My only suggestion would be to add a
proxy section to the settings page instead of hardcoding the proxy
host/port.
------------------------------------------------------------------------
February 4, 2005 - 05:23 : jhefmv24
Attachment: http://drupal.org/files/issues/common.inc_3.patch (1.37 KB)
+1 on having a facility to modify proxy settings...
here's a patch of /includes/common.inc for drupal-4.4.2 version
--
View: http://drupal.org/node/9706
Edit: http://drupal.org/project/comments/add/9706
1
0
[drupal-devel] [feature] Improve functionality of block generation for book module
by Dries 04 Feb '05
by Dries 04 Feb '05
04 Feb '05
Project: Drupal
Version: cvs
Component: book.module
Category: feature requests
Priority: normal
Assigned to: andremolnar
Reported by: nysus
Updated by: Dries
Status: patch
I added a test page and all book blocks dissapeared? I also got an SQL
error (check your watchdog messages) upon pressing the 'Submit' button.
Dries
Previous comments:
------------------------------------------------------------------------
December 9, 2004 - 08:12 : nysus
Attachment: http://drupal.org/files/issues/book_19.patch (4.85 KB)
Attached is a patch for the book module that does the following:
1) Allows book blocks to appear on any page at any time, not just when
a node from the book is being viewed.
2) Allows multiple book blocks to appear on the same page.
This functionality is achieved by the automatic creation of individual
blocks for each book when the book is created. Simply enable the
book's block to enjoy the benefits of 1 & 2 above. If the blocks are
not enabled, the blocks will appear only when a node from that block is
being viewed (the same way it works now).
------------------------------------------------------------------------
December 9, 2004 - 14:35 : andremolnar
Attachment: http://drupal.org/files/issues/book_19_1.patch (4.84 KB)
+1 This is great. A good many people have asked for something like
this, and I think its a nice solution. But in the end this isn't up to
me.
One minor error in the patch...
+ $result = db_query('SELECT n.title, b.block, b.nid FROM {book} b
INNER JOIN {node} n on n.nid = b.nid WHERE b.parent = 0');
b.block is not a valid field in this query. this updated patch removes
reference to it.
andre
------------------------------------------------------------------------
December 9, 2004 - 15:54 : nysus
Glad you like it and thanks for fixing that up. It was left over from
an older version of my patch.
------------------------------------------------------------------------
December 9, 2004 - 15:54 : andremolnar
Steve,
If I apply this patch, and I attempt to configure one of the newly
created blocks. I noticed that for some reason the block.module is
returning "true" at line 249 (of the block module)- and is creating a
form for module-specific configuration. But all that shows up on the
screen is the word "array".
Can you trace this back to see why - and maybe update the patch.
I can continue to test your changes - anything to help this patch make
it into core.
andre
------------------------------------------------------------------------
December 9, 2004 - 17:29 : nysus
Hmmm...probably because I tested my patch on my version of Drupal,
version 4.5.1. I'm having no problems. Are you using a cvs version of
Drupal to test. If so, I'll set up cvs on my site and track this down.
------------------------------------------------------------------------
December 9, 2004 - 20:53 : drumm
See http://drupal.org/node/12347 for information on how the block system
has been updated. When I saw that the elseif ($op == 'view') was taken
out I knew immedaitely that there was something weird about this patch.
------------------------------------------------------------------------
December 9, 2004 - 20:58 : nysus
OK, thanks for the tip. Sorry for the confusion. Still kind of new to
making open source contributions and it's easy for me to overlook some
obvious stuff like this. I'll fix this up when I get a chance.
------------------------------------------------------------------------
December 9, 2004 - 21:06 : Dries
Please do, because this being a new feature, it has no chance getting
committed to the DRUPAL-4-5 branch. The DRUPAL-4-5 branch is in
bugfix-mode. New features go into CVS HEAD.
------------------------------------------------------------------------
December 10, 2004 - 00:32 : Dries
There is quite a bit of duplicated code in the patch. Maybe it can be
simplified (using a function)? Either way, it is a little weird. I
haven't tried the path, and I'm not sure I understood the description.
It's somewhat vague. Is the book module exporting multiple blocks that
are nearly identical, yet have different display behavior? If so, why
not add a simple block configuration setting to the original book
block?
------------------------------------------------------------------------
December 10, 2004 - 04:51 : nysus
Dries,
Yes, there is some code that can be factored out and some general
cleaning up that can be done. It was a little tricky to write so I
left it kind of ragged around the edges until I'm sure there are no
bugs. It has worked very well on 4.5.1 but I obviously need to update
it to work with cvs. I'll be on that soon.
As far as what it does:
1) For every new book that a user creates, a new block is associated
with it. So if you create "Book A", "Book B", "Book C", you will get
three new blocks visible on the block administration page called "Book
A", "Book B", "Book C". The original "Book Navigation" block is still
there, too. The functionality of the "Book Navigation" block is not
affected at all by this patch.
2) If Book A's block is enabled, the block containing its menu will
appear not only when a node within Book A is viewed, but at all times
(unless the user suppresses it on certain pages with the "path"
feature). When any node is that is NOT in Book A is viewed, Book A's
menu still appears but it is fully collapsed. When a node that DOES
belong to Book A is viewed, Book A's Book menu expands accordingly.
3) The user can also enable Book B & C's block, and have their menus
appear in a block at all times as well.
4) If none of the book's blocks are enabled by the user, the module
will behave just as it did without the patch. That is, when the "Book
Navigation" block is enabled, the only time any book menu will appear
is when a book node is being viewed.
5) It's important to note (and this was the tricky part to write) that
if both the "Book Navigation" block is enabled and "Book A" is enabled,
they will play nice with each other and not do nasty things like create
the same book menu twice.
------------------------------------------------------------------------
December 10, 2004 - 07:51 : nysus
Attachment: http://drupal.org/files/issues/book_20.patch (5.37 KB)
Andre,
Attached is a new patch that will resolve the problem of the
block-specific stuff showing on the block configuration form.
Let me know if you spot any other bugs. If it looks good to you, I'll
go to work making the code look leaner and prettier.
------------------------------------------------------------------------
December 10, 2004 - 09:26 : nysus
Attachment: http://drupal.org/files/issues/book_21.patch (4 KB)
Dries, Andre:
Here is a new and improved streamlined version of the patch. Have a
look if you get a chance.
------------------------------------------------------------------------
December 10, 2004 - 10:11 : nysus
Attachment: http://drupal.org/files/issues/book_22.patch (4.15 KB)
Found a bug in the last version that would cause the block to jump to a
different location. I think this should do it. Everything appear to
work well (famous last words).
------------------------------------------------------------------------
December 10, 2004 - 16:49 : andremolnar
Steve: bugs appear to be gone, and I didn't run across any other
errors. This is functioning exactly as described.
everyone: I personally would encourage support for this functionality.
Book is a powerful navigation building tool in a site, not only with
its ability to move next and back through a hierarchy of pages - but
also its ability to build the appropriate navigation block without
further user intervention (unlike the admin features in the menu module
or taxonomy).
The most frequently cited complaint about the book module is its
inflexibility when it comes to when and where the block shows up. I
also frequently hear requests for the ability to show multiple book
blocks at the same time. Up until now the best alternatives suggested
required users to do a hack (e.g. build a custom block that calls such
and such a hook). Most abandon their request at that point because its
over their heads.
With this patch all those requests are covered and more. Now all books
can automatically have their own block and admins can easily decide when
and where each of those individual blocks show up (left right, up down)
and coupled with the new configuration features of the block module -
its very easy for admins to decide on which individual pages a block
will show up.
I would be interested what other have to say about this feature.
My only reservation (which is minor compared to the benefits of the
functionality offered) is that there is no way to turn this
functionality off. i.e. The default behaviour is to build individual
blocks for each book. If there could be a way to toggle this feature
on and off somewhere - it would be perfect. Still, AS IS - this is a
major improvement and offers great flexibility to admins and site
creators.
andre
------------------------------------------------------------------------
December 10, 2004 - 17:04 : Anonymous
Andre,
Thanks for the feedback on the usefulness of this module. Glad I could
pitch in and help.
I agree about the inability to turn the feature on/off and I was
thinking about that myself. I think it could easily be accomplished
by creating a checkbox in the "book navigation" block individual
configuration's settings. Call it "Enable individual book blocks."
When enabled, the individual book blocks will appear on the block
administration menu.
One question: Where would the state of this checkbox get saved? Has
Drupal moved away from serializing data in the data base?
------------------------------------------------------------------------
December 10, 2004 - 20:36 : Dries
I'm afraid that 'Enable individual book blocks.' is not
descriptive/clear at all. Are you suggesting a setting to toggle
between 'show block on all pages' and 'show block on book pages only'?
------------------------------------------------------------------------
December 10, 2004 - 21:45 : nysus
Dries,
No. Andre and I suggest a setting within the "Book Navigation"
cofiguration page, that would toggle whether or not individual books
appear on the list of all blocks on the block administration page.
Hence the name 'Enable individual book navigation blocks.' The help
text for this checkbox might read something like: "By default, a book's
navigation block is visible only when a page from that book is being
viewed. Check this box if you want more control over where and when an
book's navigation block is visible. You will then be able to control
the book's navigation block location and visibility settings on the
"admin/block" page."
Hope this makes it pretty clear.
------------------------------------------------------------------------
December 10, 2004 - 22:08 : Dries
I understand what you are trying to do, but not how you are trying to do
it, or how the setting is supposed to work. I guess I'll have to try it
when a new patch lands.
------------------------------------------------------------------------
December 11, 2004 - 11:52 : nysus
Attachment: http://drupal.org/files/issues/book_23.patch (5.02 KB)
Alright, fellas, I'm proud to unveil my crowning achievement in the open
source development world (no big deal to most of you guys but pretty
good for a hack like me).
Thanks for all the input so far. It's been helpful. I've streamlined
the heck out of it per Dries suggestion and I've created an option to
turn this functionality on an off per Andre's suggestion. Does this
look good to you guys? Anything else I have to fix or improve?
Thanks.
------------------------------------------------------------------------
December 11, 2004 - 15:02 : Dries
I tried the patch.
It works great but to me, the 'Give books their own block' settings
seems to be redundant. Why not export the current book navigation
block, along with an additional block for each book? Looks a lot
simpler to me.
I think I spotted a bug: orphaned book pages (or possibly book pages
that are unpublished) appear to be getting book navigation blocks.
------------------------------------------------------------------------
December 11, 2004 - 19:34 : nysus
I'll see if I can fix the bug. Might be tricky.
But I don't understand your recommendation to "export the current book
navigation block, along with an additional block for each book". Can
you expand on this thought?
------------------------------------------------------------------------
December 11, 2004 - 20:06 : nysus
Dries,
I am unable to duplicate the bug. I have three orphaned pages. I also
tried unpublishing some pages. But as far as I can tell, the patch
works as expected.
------------------------------------------------------------------------
December 11, 2004 - 21:00 : Dries
If you can't reproduce the problem, chances are my node/book table is
somewhat fubar.
As for the configuration option. I suggest removing it and to always
make these new blocks available on the /admin/block configuration
screen.
------------------------------------------------------------------------
December 11, 2004 - 21:52 : moshe weitzman
I am hoping that we maintain the option to keep the behavior where the
appropriate book block only shows up when its book page viewed. this is
a nice, tidy arrangement.
------------------------------------------------------------------------
December 11, 2004 - 22:03 : nysus
Yes, if you don't enable any of the individual book blocks, the a book's
block (i.e. navigation menu) will only appear when a page in a book is
viewed. In other words, you have the option to have the book block act
like this patch isn't even installed.
------------------------------------------------------------------------
December 11, 2004 - 22:54 : Dries
I guess I'll have to try the patch again, because I don't understand why
it works like this -- or at least, why it can't be made simpler.
------------------------------------------------------------------------
December 11, 2004 - 23:13 : nysus
Can you be more specific? Why it works like what?
------------------------------------------------------------------------
December 11, 2004 - 23:24 : nysus
Attachment: http://drupal.org/files/issues/book_24.patch (4.1 KB)
This patch reverses a change made in the last patch which required a
user to enable individual book block before they could enable any
individual book blocks.
------------------------------------------------------------------------
December 11, 2004 - 23:41 : andremolnar
As I mentioned earlier I am *fine* with either version of this patch as
long as it makes it to core.
But, as I said earlier, I clearly think the preference for admins would
be to have the option to enable or disable this functionality.
BTW - if this does make it in, I would be happy to create a Handbook
page that describes the new features - something like "how to build
robust site navigation using the book module". (on or after December
17th).
andre
------------------------------------------------------------------------
December 12, 2004 - 14:11 : Anonymous
I am not at all happy with these features. They are incosistant,
confusing and should use exising methods and UIs.
May main concern is the incosistancy: it is confusing, will require
extra attention with each core code change, adds extra logic to the
core, and is not re-useable.
so here are my questions:
1) why do we not use the menu system and apis to build and adminster
the trees? Saves code, does not add extra UIs, and gives users more
power.
2) why do we need that extra showing logic? a book block should not get
exeptional if clauses, it should use the existing path setting methods
on block admin. extra logic is confusing for administrators (hey, i set
the path so that the book-block should show up here, but it does not,
why?) we should really not provide extra logic in the block hook, but
should rather use default settings in block admin (the book could fill
the bookblock sql cells with custom paths, for example)
3) we should avoid extra UIs. We already have far too much, and far too
much different ones. Please rather improve the block admin, than add new
separate interfaces.
4) why do book blocks need al these expeptions in the first place? If
they are so exeptional, we could consider not using blocks, but
something else, like in-line book layout (pages with the index etc)
5) why did you not choose for a general, standard, block gerneation
API? that way modules, such as taxonomy, image gallery, weblinks,
article, etc can reuse it and introduce block gernation.
All that sayd, i like the idea of this functionality, but i fear for a
great useability downfall if we start introducing all sorts of
exeptions for all sorts of modules. Because now chances are very big
that taxonomy, image gallery etc will need to introduce other UIs,
other code, new methods and new documentation, if they too want some
sort of better block handling.
so a -1 from me.
------------------------------------------------------------------------
December 12, 2004 - 14:12 : Bèr Kessels
^^--- That was me (bèr kessels) forgot to log in.....
------------------------------------------------------------------------
December 12, 2004 - 14:34 : nysus
I'm not going to pretend I can argue if my patch does or does not fit
well into Drupal's larger architecture. My motivation for writing it
is that I had an immediate need to create an easy way to make it easy
for users to create menus.
I'll let others decide whether or not the patch has merit from the big
picture perspective. But if it doesn't, why not just use it for its
immediate benefits and then throw it away when something better comes
along?
------------------------------------------------------------------------
December 12, 2004 - 15:01 : Dries
My summary is this: +1 on the functionality, -1 on the implementation.
The code itself is good, but the usability/integration is not.
------------------------------------------------------------------------
December 12, 2004 - 15:13 : nysus
When you say "usability" is that from the user's perspective or the code
maintainers? I'm guessing it's the latter but I'm unsure.
What about the idea of using the patch until a more permanent solution
comes along? Yes, it's much better to live in a home with indoor
plumbing but why not use the outhouse while you wait for a toilet to
get installed? Or are there other considerations I'm overlooking that
would make this a bad idea?
------------------------------------------------------------------------
December 12, 2004 - 15:20 : Goba
nysus it is just generally against the Drupal philosophy to add
improperly implemented functionality until something better comes
along. There even used to be ocassions in Drupal releases, when some
functionality was removed (not fixed) for a release, because its
implementation was not adequate.
------------------------------------------------------------------------
December 12, 2004 - 15:55 : Dries
Usability for the user. The extra setting on the block configuration
page is both confusing and awkward. I don't understand why things must
be configured/enabled that way (see my and Ber's previous comments on
this issue).
------------------------------------------------------------------------
December 12, 2004 - 16:03 : nysus
Well, just for the record, I reversed that functionality per your
suggestion and uploaded the patch. The indiviudal book blocks now
appear automatically.
------------------------------------------------------------------------
December 13, 2004 - 15:56 : Bèr Kessels
Hi,
I am sure you can make not only simpler, but better usefull for admins
and users.
All you need to do is use the menus for this. i.e. make a menu entry
for each book page.
For each book make a menu on level 0, without a parent. that way they
become a seoprate menu, each with an own block.
it saves code, makes things more consistent, and most important, uses
drupal functionality where it should.
------------------------------------------------------------------------
December 13, 2004 - 16:50 : nysus
Ber,
Are you suggesting that for every single book page that a menu item be
created? That's really not practical. That was my main motivation
for writing this patch: to make it easy to put links, not necessarily
related to one another, into a block. Any more pages than 10 and the
sheer tedium of the job would prevent anyone from ever doing that. The
menu.module is great, but adding new menu items is far from quick and
painless. I just added about 10 to my menu for different taxonomies on
my site and it wasn't fun.
Plus, if you do as you suggest, there is also the problem of the book
showing up twice. It will be generated by the menu and then it will be
generated again by the book module which is programmed to design a
block. You'd have to put some logic in the book.module _block hook to
try to anticipate if a user has enabled a book in the menu. That
wouldn't be pretty code.
I'm all for putting automatic generation of book navigation blocks as
part of the menu module. It does make more sense to have it there.
But it forces me to ask the question: "Then why do we currently have
code in the book module that generates a menu? Shouldn't that belong
in the menu.module, too?"
------------------------------------------------------------------------
December 14, 2004 - 00:31 : killes(a)www.drop.org
I think what Ber is trying to say is that you can write a contrib module
that monitors the changes to the book table and creates menu items
automatically. nodeapi is your friend. I would also prefer this
solution.
------------------------------------------------------------------------
December 15, 2004 - 18:39 : Anonymous
""Then why do we currently have code in the book module that generates a
menu? Shouldn't that belong in the menu.module, too?"
"
Because it's old code. It would be nice if book.module generated this
block using its _menu hook, so that the admin would have a few options
in terms of configuration.
"Plus, if you do as you suggest, there is also the problem of the book
showing up twice. It will be generated by the menu and then it will be
generated again by the book module which is programmed to design a
block.
"
No. The old code which manually builds a block in book.module would be
removed. Book blocks would only be generated by the menu.
This would also have the added benefit of allow the administrator to
easily place a book in an appropriate spot in the menu tree, while
still allowing the possibility of displaying it in a separate block.
Because of menu caching, I don't expect a large performance hit for
creating the menu items.
"That was my main motivation for writing this patch: to make it easy to
put links, not necessarily related to one another, into a block.
"
It sounds like instead of (mis)using book.module, your time would be
better spent in a usability improvement to menu.module so it's easier
to do this.
------------------------------------------------------------------------
December 16, 2004 - 08:55 : nysus
Thanks for the feedback and input. I appreciate it. However, I would
also appreciate if you took more care to avoid the condescending tone
in your post:
"It sounds like instead of (mis)using book.module, your time would be
better spent in a usability improvement to menu.module so it's easier
to do this.
"
It's really quite unnecessary and off-putting. Though it won't stop me
from contributing to Drupal in the future, I'm sure others would be
really turned off by such a patronizing comment and it could dissuade
them. I'd like the Drupal community to be a welcoming and friendly
place that will inspire people to contribute, not discourage them.
Thanks.
------------------------------------------------------------------------
December 16, 2004 - 12:07 : Bèr Kessels
nyesus,
Please do not start /that/ discussion here. :) Drupal community is
known fo being direct, maybe because of the big number of
western-Europeans attending, maybe because of other reasons.
No-one commented that you are wasting your time. But the commentor was
telling you somthing likethis:
"If you would follow the previous sugeestions, your added feature would
be much better appreciated, and will probably work much better for you
too".
He/she was by no means telling you to stop your silly coding, or
anything in that line. He/She only wanted to show you the obvious and
better direction.
We often deal with issues that add some feature, and a complete new UI,
because the author does not like, or cannot use the existing UIs and
features. This is nogt good, because if that same author would have
spend his/her time on improving that existing functionality or UI
(improving is not neccesarily the same as extending!!) that code and
time would benefit all much better.
Thats what the commentor tried to say. And so is it here: If you
dislike the way the books handle the blocks, and if you do not want to
use the menu, because you do not like its UI, then do not add another
UI and more features, but rather merge these, and improve the parts (in
the menu) you dislike.
------------------------------------------------------------------------
December 16, 2004 - 12:35 : Dries
We can worry about the menu integration later. Let's focus on the new
option's usability/interaction design first.
------------------------------------------------------------------------
December 16, 2004 - 16:51 : nysus
I understand what the commenter was saying and like I said, I appreciate
and understand it. I'm not upset and I'm not looking for an argument, I
was just being direct as well. :) As part of the Drupal community
(albeit a minor player), all I'm saying is that I would like to see
folks not have a tin ear to the humanity in all of us. It will help
make Drupal an even stronger community and attract even more talented
developers.
Human interaction is part of the development process. Whether we like
it or not, we must cope and deal with it.
------------------------------------------------------------------------
December 18, 2004 - 11:54 : Dries
I thought some more about this and am starting to believe that
integration with the menu system should take priority. Here are common
cool scenario's:
I want to create a separate navigation block for the 'Drupal handbook'.
I want to add a menu item called 'handbook' to the user block. That
is, I want the book navigation to be part of the existing user
navigation block.
I want to add a menu item called 'handbook' to the top-level navigation
menu.
How would that work from a user's point of view? What do I have to
click and where to configure this?
------------------------------------------------------------------------
December 21, 2004 - 20:47 : andremolnar
I was actually thinking about the same thing last night (must have been
something in the arctic air).
/
2. I want to add a menu item called 'handbook' to the user block. That
is, I want the book navigation to be part of the existing user
navigation block.
3. I want to add a menu item called 'handbook' to the top-level
navigation menu.
/
This is already possible (to a certain extent) with the current
Book.module and Menu.module - A 'Books' menu item is created in the
user navigation by having the Book.module enabled. Menu.module allows
you to enable/disable this menu item. Menu.module also allows you to
re-name this menu item. But, this only helps if you only intend to
have 1 book (or else the name 'Handbook' is misleading if the user
finds more than 1 book listed). - so this isn't good enough (or is it).
/1. I want to create a separate navigation block for the 'Drupal
handbook'./
This is what I was trying to figure out. Not just this, but a
different way to do what Nysus was attempting. i.e. create a menu
block for each and every book that is created. There is a way to write
code that would (re)build a 'custom menu' on every add/edit/update to a
book page - or book outline update. Custom menu's automatically have a
block created for them. But, this I think would be a misleading use of
the 'custom' menu - as the menu would not be custom if they are a part
of core.
So, I would think that two new constants could be added to the menu.inc
file - MENU_BOOK_MENU - and MENU_BOOK_ITEM - each would behave as custom
menu's, but would be reserved for books. These menu types should NOT
show up in the Menu.module administration - because the administration
of the book_menu items would be done by administering the book itself
(adding an item, removing an item, moving an item up/down in the
hierarchy, assigning parents etc.).
However, the blocks that the book_menus would create would show up in
the block administration (so users could enable/disable each block -
and decide where on the site they show up). The existing book block
logic would be removed.
So the logic would be:
If a creates a book in the book administration page - the Book.module
automatically creates a new MENU_BOOK_MENU
Any time a user adds to or updates or delets a book page - the entire
book menu is deleted and recreated based on the hierarchy defined by
the book itself.
The blocks for each book would show up in block administration.
Any thoughts - I know that this doesn't exactly address points 1 and 2
- but it could act as a first step.
Is this approach a bad idea? It would add special conditions for the
proposed book menu's - but books would be a special case.
Even if people don't like this solution, maybe it will give someone a
better idea. I'd love to hear them.
andre
------------------------------------------------------------------------
December 22, 2004 - 00:55 : Boris Mann
+1 to this andre
I had promised to put down my thoughts on this matter, as it relates to
1) primary and secondary links and how they are managed and 2)
auto-generation of primary/secondary navigation based on book outlines
So, for 1), we currently have functional-but-not-very-usable plain
textfields to manage primary and secondary links. I would like to see
menu.module used to control all navigation links, whether it is the
navigation block or primary/secondary links. What is needed:
a) default system menus labelled "primary" and "secondary" which would
store; this is where modules could insert navigation
b) support for full URLs (e.g. http://myexternaldomain.com) instead of
just path
2) if we got 1 working, and andre does his book menus, this could get
taken care of automatically. Basically, for brochureware/business/etc.
sites that have static content, you could have a root book as one of
the primary navigation links, and then the secondary links are
generated automatically.
------------------------------------------------------------------------
December 22, 2004 - 23:02 : Dries
I agree with Andre that the book module's integration with the menu
system needs to be worked on. I support any effort that makes it
easier to structure pages and that makes it easy to link pages/nodes
from within a menu.
However, I'm opposed to putting book module specific names in the menu
system (eg. MENU_BOOK_MENU and MENU_BOOK_ITEM). I can imagine a
handful of modules that want to maintain a menu tree (or part thereof)
so I'm in favor of generic names.
I'd have to read up on the menu system code, but last time I checked
there was a MENU_MODIFIABLE_BY_ADMIN flag. You could choose not to set
this flag for the menu items generated by the book module. Maybe it's
already possible to implement to implement Andre's suggestion without
having to modify/extend the menu system.
Are you exploring this path?
------------------------------------------------------------------------
December 24, 2004 - 12:01 : andremolnar
I've had a few spare hours to work on this.
I've started to cobble together a solution - but in doing so I
discovered a bug in the menu module (for which I will submit a seperate
issue - if one doesn't already exist).
The principal I suggested works. I added some code to the book module
that creates custom menu's (MENU_CUSTOM_MENU with MENU_CUSTOM_ITEMs)
for each Book that exists in a site. This is just as a proof of
concept - I chose this menu type to start with because they
automatically have a block created for them in admin/block (which is
ultimatly the functionality we want).
I ran a test and the menus are created as expected - the blocks are
also created. But when I tested the menu blocks by enabling them I ran
into a problem.
It seems as though the menu system does not expand/explode sub menu
items if the node type is book. I'm not sure why this is, and I
haven't traced the source code yet - I thought I would ask if anyone
has intimate knowledge of the menu system if they can point me in the
right direction.
No patch attached because until that problem is fixed this proposed
change won't fly :(
andre
------------------------------------------------------------------------
December 24, 2004 - 13:11 : Dries
Just a wild guess: maybe it doesn't work because the book module's URI
scheme is not hierarchical?
------------------------------------------------------------------------
January 7, 2005 - 12:45 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_1.patch (5.1 KB)
I finally took some time out to do some work on this. As mentioned in a
post to dev the problem I was having with menus not
expanding/contracting properly was some crud in my database. Once that
was cleared up my changes worked fine.
I am attaching a patch for comments and for the brave willing to give
it a test drive.
History: This thread and http://drupal.org/node/15198 and
http://drupal.org/node/15153
node/15198 has a patch that is required for this patch to work.
What this does:
Pretty straight forward.
Any time a user adds/updates/deletes book or book pages (including via
outline) - a function is called to create a new menu for each book.
Any existing book menus are wiped out and then the new book menus are
inserted - and the system menu is rebuilt to reflect the changes.
The menus created consist of type MENU_MODULE_MENU and
MENU_MODULE_ITEM. These menus show up in the menu/admin page so that
admins can be aware of them, but the menu types are not editable via
menu/admin (all changes are handled by the book module).
Since the menus are in the menu table, the menu_block() hook handles
the creation of the blocks for each of them. The blocks can then be
administered in the usual ways via the block/admin interface.
KNOWN ISSUE: (suggested solutions welcome)
Since the menu table is updated on every change to books - the blocks
associated with the menus are also recreated with default settings
(i.e. disabled, and with no path or throttle settings) requiring a user
to take an extra step and re-configure the book blocks for viewing on
their site. I think this is unacceptable. For the casual user of the
book module that only has a single book that doesn't change often, this
would not be a big deal. But, if anyone wanted to make use of book
module to handle dynamic site navigation this would create more work
than it saves.
Looking forward:
If the block generation issue can be solved in a tidy way, this patch
could allow users to use book to handle all their site navigation
generation needs.
Also, this patch could allow for the removal of a large chunk of code
in the book module dedicated to building its own block via the block
system. I left it there for now because I suppose there may be those
out there that want to have book.module work the way book.module always
worked (only show the book block when viewing a book page). Even so,
since each book would have its own block, an admin could specify when
and where the block shows via admin/block.
I would appreciate feedback. If nothing else I hope this gives someone
some new ideas.
I'll continue to work on the block regeneration issue.
andre
------------------------------------------------------------------------
January 7, 2005 - 12:47 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_2.patch (4.98 KB)
sorry - here's a patch with prefered line breaks.
andre
------------------------------------------------------------------------
January 7, 2005 - 18:47 : nysus
Andre,
I've been meaning to give this a throrough look when I get a chance.
Hopefully this weekend.
---Steve
------------------------------------------------------------------------
January 20, 2005 - 04:02 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_3.patch (6.66 KB)
Here is an updated patch.
Same comments as followup 51 - except that the known issue has been
resolved.
This changes book module so that any action taken on a book, including
adding new books or book pages will create a menu in the menu system
for that book - and thus create blocks for those menus that can be
administered in the usual ways.
This is my first attempt at a major patch to core - comments are
welcome
I will be happy to update documentation once revisions to the code have
been taken care of.
andre
------------------------------------------------------------------------
January 20, 2005 - 04:53 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_4.patch (6.17 KB)
Sorry - would be nice if I removed some debugging code - ;-)
also previous patch also would have introduced a need for a change to
the menu table that isn't required yet.
This patch is a correct version
andre
------------------------------------------------------------------------
January 20, 2005 - 21:16 : Dries
The menu is recreated every time a book page is updated. I believe this
is unwanted behavior because it requires the book block to be
reconfigured upon every update.
------------------------------------------------------------------------
January 20, 2005 - 21:32 : andremolnar
The menu is indeed re-created with every book page edit - because if the
book page title changes the menu needs to reflect this change.
The book block re-configuration is not required by the user. The code
stores this information and re-sets the block settings.
I will see if I can test for 'title change' before forcing the re-build
of the menu - It would save a bit of processing power.
andre
------------------------------------------------------------------------
January 20, 2005 - 22:21 : andremolnar
Took another at this - and it turns out that I already have a check to
see if title or weight change (rather - they already existed in the
module and I used them).
andre
------------------------------------------------------------------------
January 24, 2005 - 04:22 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_6.patch (7.42 KB)
Feedback received indicated that the original block generation code in
this module should be removed - since this patch hands block generation
off to the menu and block system.
This patch removes that code. BUT - It should be noted, that in order
to have book blocks only show up on pages of node type book - an
additional patch found at http://drupal.org/node/16074 is required.
andre
------------------------------------------------------------------------
January 24, 2005 - 20:36 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_7.patch (7.43 KB)
Yet another patch:
Brings this patch in line with - http://drupal.org/node/16074 (i.e. the
column name change in {block} table)
andre
------------------------------------------------------------------------
January 25, 2005 - 20:56 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_8.patch (7.53 KB)
And another minor patch to cover coding style and variable names.
Just to bring everyone up to speed:
1) Each book and its children pages have a menu created for them (on
any add, edit, delete to a book or book page).
2) Those book menus automatically have a block created for them via
menu_block hook.
3) Block settings are preserved any time there is a change to a book
that requires the menu and its associated block to be re-built.
4) book_block hook is removed because it is redundant.
5) With the addition of the configuration option in blocks to only show
blocks on certain node types (see: http://drupal.org/node/16074)
administrators have full control over when and where a book block shows
up (including maintaining the status quo of only having book blocks show
up on book pages).
6) This patch does require http://drupal.org/node/15198
andre
------------------------------------------------------------------------
January 25, 2005 - 23:49 : Boris Mann
+1!!
Book-based automatic navigation for corporate/brochureware sites!
Fantastic! Chris Messina, get in here and add a +1 to this.
------------------------------------------------------------------------
January 26, 2005 - 00:26 : Dries
Boris, have you tested this patch extensively, or are you just giving
this +1 based on what you've read? If you want to see this committed,
take the time to review/test it.
------------------------------------------------------------------------
January 26, 2005 - 07:45 : andremolnar
Yes - please - testers are welcome.
Nysus (aka Steve) has already agreed to give this a test drive when he
had a spare moment. I hope for some feedback in the near future. But
if you have a moment Borris I would appreciate it.
OR - If someone would just like to demo this:
http://s92258948.onlinehome.us/greenbeach/
UN: drupaldev PW: drupaldev
Don't mind the mess - it is my test environment and there is a lot of
junk data and settings floating around - but this patch is running
there along with the additional block configuration settings.
andre
------------------------------------------------------------------------
January 31, 2005 - 21:12 : Boris Mann
You got me, Dries...
I have since spent time testing the module on andre's site, and it does
everything I can foresee needing at this point, with no functional
errors.
This functionality alone will make creating standalone sites that are
composed of mainly static pages very, very simple.
------------------------------------------------------------------------
February 3, 2005 - 10:58 : Dries
The demo-site appears to be down. Bummer.
------------------------------------------------------------------------
February 4, 2005 - 00:59 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_9.patch (7.58 KB)
Sorry - demo site was down while database was being cleaned and latest
CVS modules were being installed (general site maintenence for
testing).
The site is up now with a fresh database and install of Drupal CVS.
UN drupaldev PW drupaldev (has access to manage blocks, books, and
menus to see this patch in action)
Attached is an updated patch to make use of db_rewrite_sql (instead of
node_rewrite_sql). Also fixes a minor bug that appeared if you were
creating the first book in the site.
andre
------------------------------------------------------------------------
February 4, 2005 - 01:13 : Anonymous
This patch seems to modify the blocks and menu tables directly from
within book.module. (in the new book_build_menu_module_menu function)
This sets a terrible precedent for other modules. IMO, these tables
should be modified by functions defined within the block module or menu
module (or menu.inc). Modifying the tables randomly throughout many
other points in the code makes changes to these tables difficult and
makes troubleshooting problems much trickier. Let's not sacrafice code
organization for the sake of making the patch as small as possible.
------------------------------------------------------------------------
February 4, 2005 - 08:25 : andremolnar
With regard to the blocks - the block module is doing all the block
building (with the call to _block_rehash) - the only thing that this
code does is preserve block settings (the select sql) before the menu
is updated - and then restores those block settings (with the update
sql).
"Modifying the tables randomly throughout...
"
While I appreciate the point you are making, I would hesitate to call
this random. After all the menu items being added to the menu table
'belong' to book module.
There is a little bit of a discussion about the best way to go about
doing this sort of thing (i.e. allowing modules to build their own
menus) over at http://drupal.org/node/15198 - which includes the patch
required to make this patch work. Right now there is no existing hook
or method of doing this. hook_menu does not have anything in place as
of yet.
I have suggested the introduction of a new hook (name yet to be
determined) that would be in charge of these menu_module_menu type
inserts. But, I haven't heard any feedback on whether that is a good
idea - or if anyone has a better idea.
Anyone else have thoughts on the approach taken here or suggestions for
a different/better approach? I'm willing to write the code, I would
just like a little bit of input.
andre
--
View: http://drupal.org/node/14120
Edit: http://drupal.org/project/comments/add/14120
1
0
[drupal-devel] [feature] Improve functionality of block generation for book module
by andremolnar 04 Feb '05
by andremolnar 04 Feb '05
04 Feb '05
Project: Drupal
Version: cvs
Component: book.module
Category: feature requests
Priority: normal
Assigned to: andremolnar
Reported by: nysus
Updated by: andremolnar
Status: patch
With regard to the blocks - the block module is doing all the block
building (with the call to _block_rehash) - the only thing that this
code does is preserve block settings (the select sql) before the menu
is updated - and then restores those block settings (with the update
sql).
"Modifying the tables randomly throughout...
"
While I appreciate the point you are making, I would hesitate to call
this random. After all the menu items being added to the menu table
'belong' to book module.
There is a little bit of a discussion about the best way to go about
doing this sort of thing (i.e. allowing modules to build their own
menus) over at http://drupal.org/node/15198 - which includes the patch
required to make this patch work. Right now there is no existing hook
or method of doing this. hook_menu does not have anything in place as
of yet.
I have suggested the introduction of a new hook (name yet to be
determined) that would be in charge of these menu_module_menu type
inserts. But, I haven't heard any feedback on whether that is a good
idea - or if anyone has a better idea.
Anyone else have thoughts on the approach taken here or suggestions for
a different/better approach? I'm willing to write the code, I would
just like a little bit of input.
andre
andremolnar
Previous comments:
------------------------------------------------------------------------
December 9, 2004 - 06:12 : nysus
Attachment: http://drupal.org/files/issues/book_19.patch (4.85 KB)
Attached is a patch for the book module that does the following:
1) Allows book blocks to appear on any page at any time, not just when
a node from the book is being viewed.
2) Allows multiple book blocks to appear on the same page.
This functionality is achieved by the automatic creation of individual
blocks for each book when the book is created. Simply enable the
book's block to enjoy the benefits of 1 & 2 above. If the blocks are
not enabled, the blocks will appear only when a node from that block is
being viewed (the same way it works now).
------------------------------------------------------------------------
December 9, 2004 - 12:35 : andremolnar
Attachment: http://drupal.org/files/issues/book_19_1.patch (4.84 KB)
+1 This is great. A good many people have asked for something like
this, and I think its a nice solution. But in the end this isn't up to
me.
One minor error in the patch...
+ $result = db_query('SELECT n.title, b.block, b.nid FROM {book} b
INNER JOIN {node} n on n.nid = b.nid WHERE b.parent = 0');
b.block is not a valid field in this query. this updated patch removes
reference to it.
andre
------------------------------------------------------------------------
December 9, 2004 - 13:54 : nysus
Glad you like it and thanks for fixing that up. It was left over from
an older version of my patch.
------------------------------------------------------------------------
December 9, 2004 - 13:54 : andremolnar
Steve,
If I apply this patch, and I attempt to configure one of the newly
created blocks. I noticed that for some reason the block.module is
returning "true" at line 249 (of the block module)- and is creating a
form for module-specific configuration. But all that shows up on the
screen is the word "array".
Can you trace this back to see why - and maybe update the patch.
I can continue to test your changes - anything to help this patch make
it into core.
andre
------------------------------------------------------------------------
December 9, 2004 - 15:29 : nysus
Hmmm...probably because I tested my patch on my version of Drupal,
version 4.5.1. I'm having no problems. Are you using a cvs version of
Drupal to test. If so, I'll set up cvs on my site and track this down.
------------------------------------------------------------------------
December 9, 2004 - 18:53 : drumm
See http://drupal.org/node/12347 for information on how the block system
has been updated. When I saw that the elseif ($op == 'view') was taken
out I knew immedaitely that there was something weird about this patch.
------------------------------------------------------------------------
December 9, 2004 - 18:58 : nysus
OK, thanks for the tip. Sorry for the confusion. Still kind of new to
making open source contributions and it's easy for me to overlook some
obvious stuff like this. I'll fix this up when I get a chance.
------------------------------------------------------------------------
December 9, 2004 - 19:06 : Dries
Please do, because this being a new feature, it has no chance getting
committed to the DRUPAL-4-5 branch. The DRUPAL-4-5 branch is in
bugfix-mode. New features go into CVS HEAD.
------------------------------------------------------------------------
December 9, 2004 - 22:32 : Dries
There is quite a bit of duplicated code in the patch. Maybe it can be
simplified (using a function)? Either way, it is a little weird. I
haven't tried the path, and I'm not sure I understood the description.
It's somewhat vague. Is the book module exporting multiple blocks that
are nearly identical, yet have different display behavior? If so, why
not add a simple block configuration setting to the original book
block?
------------------------------------------------------------------------
December 10, 2004 - 02:51 : nysus
Dries,
Yes, there is some code that can be factored out and some general
cleaning up that can be done. It was a little tricky to write so I
left it kind of ragged around the edges until I'm sure there are no
bugs. It has worked very well on 4.5.1 but I obviously need to update
it to work with cvs. I'll be on that soon.
As far as what it does:
1) For every new book that a user creates, a new block is associated
with it. So if you create "Book A", "Book B", "Book C", you will get
three new blocks visible on the block administration page called "Book
A", "Book B", "Book C". The original "Book Navigation" block is still
there, too. The functionality of the "Book Navigation" block is not
affected at all by this patch.
2) If Book A's block is enabled, the block containing its menu will
appear not only when a node within Book A is viewed, but at all times
(unless the user suppresses it on certain pages with the "path"
feature). When any node is that is NOT in Book A is viewed, Book A's
menu still appears but it is fully collapsed. When a node that DOES
belong to Book A is viewed, Book A's Book menu expands accordingly.
3) The user can also enable Book B & C's block, and have their menus
appear in a block at all times as well.
4) If none of the book's blocks are enabled by the user, the module
will behave just as it did without the patch. That is, when the "Book
Navigation" block is enabled, the only time any book menu will appear
is when a book node is being viewed.
5) It's important to note (and this was the tricky part to write) that
if both the "Book Navigation" block is enabled and "Book A" is enabled,
they will play nice with each other and not do nasty things like create
the same book menu twice.
------------------------------------------------------------------------
December 10, 2004 - 05:51 : nysus
Attachment: http://drupal.org/files/issues/book_20.patch (5.37 KB)
Andre,
Attached is a new patch that will resolve the problem of the
block-specific stuff showing on the block configuration form.
Let me know if you spot any other bugs. If it looks good to you, I'll
go to work making the code look leaner and prettier.
------------------------------------------------------------------------
December 10, 2004 - 07:26 : nysus
Attachment: http://drupal.org/files/issues/book_21.patch (4 KB)
Dries, Andre:
Here is a new and improved streamlined version of the patch. Have a
look if you get a chance.
------------------------------------------------------------------------
December 10, 2004 - 08:11 : nysus
Attachment: http://drupal.org/files/issues/book_22.patch (4.15 KB)
Found a bug in the last version that would cause the block to jump to a
different location. I think this should do it. Everything appear to
work well (famous last words).
------------------------------------------------------------------------
December 10, 2004 - 14:49 : andremolnar
Steve: bugs appear to be gone, and I didn't run across any other
errors. This is functioning exactly as described.
everyone: I personally would encourage support for this functionality.
Book is a powerful navigation building tool in a site, not only with
its ability to move next and back through a hierarchy of pages - but
also its ability to build the appropriate navigation block without
further user intervention (unlike the admin features in the menu module
or taxonomy).
The most frequently cited complaint about the book module is its
inflexibility when it comes to when and where the block shows up. I
also frequently hear requests for the ability to show multiple book
blocks at the same time. Up until now the best alternatives suggested
required users to do a hack (e.g. build a custom block that calls such
and such a hook). Most abandon their request at that point because its
over their heads.
With this patch all those requests are covered and more. Now all books
can automatically have their own block and admins can easily decide when
and where each of those individual blocks show up (left right, up down)
and coupled with the new configuration features of the block module -
its very easy for admins to decide on which individual pages a block
will show up.
I would be interested what other have to say about this feature.
My only reservation (which is minor compared to the benefits of the
functionality offered) is that there is no way to turn this
functionality off. i.e. The default behaviour is to build individual
blocks for each book. If there could be a way to toggle this feature
on and off somewhere - it would be perfect. Still, AS IS - this is a
major improvement and offers great flexibility to admins and site
creators.
andre
------------------------------------------------------------------------
December 10, 2004 - 15:04 : Anonymous
Andre,
Thanks for the feedback on the usefulness of this module. Glad I could
pitch in and help.
I agree about the inability to turn the feature on/off and I was
thinking about that myself. I think it could easily be accomplished
by creating a checkbox in the "book navigation" block individual
configuration's settings. Call it "Enable individual book blocks."
When enabled, the individual book blocks will appear on the block
administration menu.
One question: Where would the state of this checkbox get saved? Has
Drupal moved away from serializing data in the data base?
------------------------------------------------------------------------
December 10, 2004 - 18:36 : Dries
I'm afraid that 'Enable individual book blocks.' is not
descriptive/clear at all. Are you suggesting a setting to toggle
between 'show block on all pages' and 'show block on book pages only'?
------------------------------------------------------------------------
December 10, 2004 - 19:45 : nysus
Dries,
No. Andre and I suggest a setting within the "Book Navigation"
cofiguration page, that would toggle whether or not individual books
appear on the list of all blocks on the block administration page.
Hence the name 'Enable individual book navigation blocks.' The help
text for this checkbox might read something like: "By default, a book's
navigation block is visible only when a page from that book is being
viewed. Check this box if you want more control over where and when an
book's navigation block is visible. You will then be able to control
the book's navigation block location and visibility settings on the
"admin/block" page."
Hope this makes it pretty clear.
------------------------------------------------------------------------
December 10, 2004 - 20:08 : Dries
I understand what you are trying to do, but not how you are trying to do
it, or how the setting is supposed to work. I guess I'll have to try it
when a new patch lands.
------------------------------------------------------------------------
December 11, 2004 - 09:52 : nysus
Attachment: http://drupal.org/files/issues/book_23.patch (5.02 KB)
Alright, fellas, I'm proud to unveil my crowning achievement in the open
source development world (no big deal to most of you guys but pretty
good for a hack like me).
Thanks for all the input so far. It's been helpful. I've streamlined
the heck out of it per Dries suggestion and I've created an option to
turn this functionality on an off per Andre's suggestion. Does this
look good to you guys? Anything else I have to fix or improve?
Thanks.
------------------------------------------------------------------------
December 11, 2004 - 13:02 : Dries
I tried the patch.
It works great but to me, the 'Give books their own block' settings
seems to be redundant. Why not export the current book navigation
block, along with an additional block for each book? Looks a lot
simpler to me.
I think I spotted a bug: orphaned book pages (or possibly book pages
that are unpublished) appear to be getting book navigation blocks.
------------------------------------------------------------------------
December 11, 2004 - 17:34 : nysus
I'll see if I can fix the bug. Might be tricky.
But I don't understand your recommendation to "export the current book
navigation block, along with an additional block for each book". Can
you expand on this thought?
------------------------------------------------------------------------
December 11, 2004 - 18:06 : nysus
Dries,
I am unable to duplicate the bug. I have three orphaned pages. I also
tried unpublishing some pages. But as far as I can tell, the patch
works as expected.
------------------------------------------------------------------------
December 11, 2004 - 19:00 : Dries
If you can't reproduce the problem, chances are my node/book table is
somewhat fubar.
As for the configuration option. I suggest removing it and to always
make these new blocks available on the /admin/block configuration
screen.
------------------------------------------------------------------------
December 11, 2004 - 19:52 : moshe weitzman
I am hoping that we maintain the option to keep the behavior where the
appropriate book block only shows up when its book page viewed. this is
a nice, tidy arrangement.
------------------------------------------------------------------------
December 11, 2004 - 20:03 : nysus
Yes, if you don't enable any of the individual book blocks, the a book's
block (i.e. navigation menu) will only appear when a page in a book is
viewed. In other words, you have the option to have the book block act
like this patch isn't even installed.
------------------------------------------------------------------------
December 11, 2004 - 20:54 : Dries
I guess I'll have to try the patch again, because I don't understand why
it works like this -- or at least, why it can't be made simpler.
------------------------------------------------------------------------
December 11, 2004 - 21:13 : nysus
Can you be more specific? Why it works like what?
------------------------------------------------------------------------
December 11, 2004 - 21:24 : nysus
Attachment: http://drupal.org/files/issues/book_24.patch (4.1 KB)
This patch reverses a change made in the last patch which required a
user to enable individual book block before they could enable any
individual book blocks.
------------------------------------------------------------------------
December 11, 2004 - 21:41 : andremolnar
As I mentioned earlier I am *fine* with either version of this patch as
long as it makes it to core.
But, as I said earlier, I clearly think the preference for admins would
be to have the option to enable or disable this functionality.
BTW - if this does make it in, I would be happy to create a Handbook
page that describes the new features - something like "how to build
robust site navigation using the book module". (on or after December
17th).
andre
------------------------------------------------------------------------
December 12, 2004 - 12:11 : Anonymous
I am not at all happy with these features. They are incosistant,
confusing and should use exising methods and UIs.
May main concern is the incosistancy: it is confusing, will require
extra attention with each core code change, adds extra logic to the
core, and is not re-useable.
so here are my questions:
1) why do we not use the menu system and apis to build and adminster
the trees? Saves code, does not add extra UIs, and gives users more
power.
2) why do we need that extra showing logic? a book block should not get
exeptional if clauses, it should use the existing path setting methods
on block admin. extra logic is confusing for administrators (hey, i set
the path so that the book-block should show up here, but it does not,
why?) we should really not provide extra logic in the block hook, but
should rather use default settings in block admin (the book could fill
the bookblock sql cells with custom paths, for example)
3) we should avoid extra UIs. We already have far too much, and far too
much different ones. Please rather improve the block admin, than add new
separate interfaces.
4) why do book blocks need al these expeptions in the first place? If
they are so exeptional, we could consider not using blocks, but
something else, like in-line book layout (pages with the index etc)
5) why did you not choose for a general, standard, block gerneation
API? that way modules, such as taxonomy, image gallery, weblinks,
article, etc can reuse it and introduce block gernation.
All that sayd, i like the idea of this functionality, but i fear for a
great useability downfall if we start introducing all sorts of
exeptions for all sorts of modules. Because now chances are very big
that taxonomy, image gallery etc will need to introduce other UIs,
other code, new methods and new documentation, if they too want some
sort of better block handling.
so a -1 from me.
------------------------------------------------------------------------
December 12, 2004 - 12:12 : Bèr Kessels
^^--- That was me (bèr kessels) forgot to log in.....
------------------------------------------------------------------------
December 12, 2004 - 12:34 : nysus
I'm not going to pretend I can argue if my patch does or does not fit
well into Drupal's larger architecture. My motivation for writing it
is that I had an immediate need to create an easy way to make it easy
for users to create menus.
I'll let others decide whether or not the patch has merit from the big
picture perspective. But if it doesn't, why not just use it for its
immediate benefits and then throw it away when something better comes
along?
------------------------------------------------------------------------
December 12, 2004 - 13:01 : Dries
My summary is this: +1 on the functionality, -1 on the implementation.
The code itself is good, but the usability/integration is not.
------------------------------------------------------------------------
December 12, 2004 - 13:13 : nysus
When you say "usability" is that from the user's perspective or the code
maintainers? I'm guessing it's the latter but I'm unsure.
What about the idea of using the patch until a more permanent solution
comes along? Yes, it's much better to live in a home with indoor
plumbing but why not use the outhouse while you wait for a toilet to
get installed? Or are there other considerations I'm overlooking that
would make this a bad idea?
------------------------------------------------------------------------
December 12, 2004 - 13:20 : Goba
nysus it is just generally against the Drupal philosophy to add
improperly implemented functionality until something better comes
along. There even used to be ocassions in Drupal releases, when some
functionality was removed (not fixed) for a release, because its
implementation was not adequate.
------------------------------------------------------------------------
December 12, 2004 - 13:55 : Dries
Usability for the user. The extra setting on the block configuration
page is both confusing and awkward. I don't understand why things must
be configured/enabled that way (see my and Ber's previous comments on
this issue).
------------------------------------------------------------------------
December 12, 2004 - 14:03 : nysus
Well, just for the record, I reversed that functionality per your
suggestion and uploaded the patch. The indiviudal book blocks now
appear automatically.
------------------------------------------------------------------------
December 13, 2004 - 13:56 : Bèr Kessels
Hi,
I am sure you can make not only simpler, but better usefull for admins
and users.
All you need to do is use the menus for this. i.e. make a menu entry
for each book page.
For each book make a menu on level 0, without a parent. that way they
become a seoprate menu, each with an own block.
it saves code, makes things more consistent, and most important, uses
drupal functionality where it should.
------------------------------------------------------------------------
December 13, 2004 - 14:50 : nysus
Ber,
Are you suggesting that for every single book page that a menu item be
created? That's really not practical. That was my main motivation
for writing this patch: to make it easy to put links, not necessarily
related to one another, into a block. Any more pages than 10 and the
sheer tedium of the job would prevent anyone from ever doing that. The
menu.module is great, but adding new menu items is far from quick and
painless. I just added about 10 to my menu for different taxonomies on
my site and it wasn't fun.
Plus, if you do as you suggest, there is also the problem of the book
showing up twice. It will be generated by the menu and then it will be
generated again by the book module which is programmed to design a
block. You'd have to put some logic in the book.module _block hook to
try to anticipate if a user has enabled a book in the menu. That
wouldn't be pretty code.
I'm all for putting automatic generation of book navigation blocks as
part of the menu module. It does make more sense to have it there.
But it forces me to ask the question: "Then why do we currently have
code in the book module that generates a menu? Shouldn't that belong
in the menu.module, too?"
------------------------------------------------------------------------
December 13, 2004 - 22:31 : killes(a)www.drop.org
I think what Ber is trying to say is that you can write a contrib module
that monitors the changes to the book table and creates menu items
automatically. nodeapi is your friend. I would also prefer this
solution.
------------------------------------------------------------------------
December 15, 2004 - 16:39 : Anonymous
""Then why do we currently have code in the book module that generates a
menu? Shouldn't that belong in the menu.module, too?"
"
Because it's old code. It would be nice if book.module generated this
block using its _menu hook, so that the admin would have a few options
in terms of configuration.
"Plus, if you do as you suggest, there is also the problem of the book
showing up twice. It will be generated by the menu and then it will be
generated again by the book module which is programmed to design a
block.
"
No. The old code which manually builds a block in book.module would be
removed. Book blocks would only be generated by the menu.
This would also have the added benefit of allow the administrator to
easily place a book in an appropriate spot in the menu tree, while
still allowing the possibility of displaying it in a separate block.
Because of menu caching, I don't expect a large performance hit for
creating the menu items.
"That was my main motivation for writing this patch: to make it easy to
put links, not necessarily related to one another, into a block.
"
It sounds like instead of (mis)using book.module, your time would be
better spent in a usability improvement to menu.module so it's easier
to do this.
------------------------------------------------------------------------
December 16, 2004 - 06:55 : nysus
Thanks for the feedback and input. I appreciate it. However, I would
also appreciate if you took more care to avoid the condescending tone
in your post:
"It sounds like instead of (mis)using book.module, your time would be
better spent in a usability improvement to menu.module so it's easier
to do this.
"
It's really quite unnecessary and off-putting. Though it won't stop me
from contributing to Drupal in the future, I'm sure others would be
really turned off by such a patronizing comment and it could dissuade
them. I'd like the Drupal community to be a welcoming and friendly
place that will inspire people to contribute, not discourage them.
Thanks.
------------------------------------------------------------------------
December 16, 2004 - 10:07 : Bèr Kessels
nyesus,
Please do not start /that/ discussion here. :) Drupal community is
known fo being direct, maybe because of the big number of
western-Europeans attending, maybe because of other reasons.
No-one commented that you are wasting your time. But the commentor was
telling you somthing likethis:
"If you would follow the previous sugeestions, your added feature would
be much better appreciated, and will probably work much better for you
too".
He/she was by no means telling you to stop your silly coding, or
anything in that line. He/She only wanted to show you the obvious and
better direction.
We often deal with issues that add some feature, and a complete new UI,
because the author does not like, or cannot use the existing UIs and
features. This is nogt good, because if that same author would have
spend his/her time on improving that existing functionality or UI
(improving is not neccesarily the same as extending!!) that code and
time would benefit all much better.
Thats what the commentor tried to say. And so is it here: If you
dislike the way the books handle the blocks, and if you do not want to
use the menu, because you do not like its UI, then do not add another
UI and more features, but rather merge these, and improve the parts (in
the menu) you dislike.
------------------------------------------------------------------------
December 16, 2004 - 10:35 : Dries
We can worry about the menu integration later. Let's focus on the new
option's usability/interaction design first.
------------------------------------------------------------------------
December 16, 2004 - 14:51 : nysus
I understand what the commenter was saying and like I said, I appreciate
and understand it. I'm not upset and I'm not looking for an argument, I
was just being direct as well. :) As part of the Drupal community
(albeit a minor player), all I'm saying is that I would like to see
folks not have a tin ear to the humanity in all of us. It will help
make Drupal an even stronger community and attract even more talented
developers.
Human interaction is part of the development process. Whether we like
it or not, we must cope and deal with it.
------------------------------------------------------------------------
December 18, 2004 - 09:54 : Dries
I thought some more about this and am starting to believe that
integration with the menu system should take priority. Here are common
cool scenario's:
I want to create a separate navigation block for the 'Drupal handbook'.
I want to add a menu item called 'handbook' to the user block. That
is, I want the book navigation to be part of the existing user
navigation block.
I want to add a menu item called 'handbook' to the top-level navigation
menu.
How would that work from a user's point of view? What do I have to
click and where to configure this?
------------------------------------------------------------------------
December 21, 2004 - 18:47 : andremolnar
I was actually thinking about the same thing last night (must have been
something in the arctic air).
/
2. I want to add a menu item called 'handbook' to the user block. That
is, I want the book navigation to be part of the existing user
navigation block.
3. I want to add a menu item called 'handbook' to the top-level
navigation menu.
/
This is already possible (to a certain extent) with the current
Book.module and Menu.module - A 'Books' menu item is created in the
user navigation by having the Book.module enabled. Menu.module allows
you to enable/disable this menu item. Menu.module also allows you to
re-name this menu item. But, this only helps if you only intend to
have 1 book (or else the name 'Handbook' is misleading if the user
finds more than 1 book listed). - so this isn't good enough (or is it).
/1. I want to create a separate navigation block for the 'Drupal
handbook'./
This is what I was trying to figure out. Not just this, but a
different way to do what Nysus was attempting. i.e. create a menu
block for each and every book that is created. There is a way to write
code that would (re)build a 'custom menu' on every add/edit/update to a
book page - or book outline update. Custom menu's automatically have a
block created for them. But, this I think would be a misleading use of
the 'custom' menu - as the menu would not be custom if they are a part
of core.
So, I would think that two new constants could be added to the menu.inc
file - MENU_BOOK_MENU - and MENU_BOOK_ITEM - each would behave as custom
menu's, but would be reserved for books. These menu types should NOT
show up in the Menu.module administration - because the administration
of the book_menu items would be done by administering the book itself
(adding an item, removing an item, moving an item up/down in the
hierarchy, assigning parents etc.).
However, the blocks that the book_menus would create would show up in
the block administration (so users could enable/disable each block -
and decide where on the site they show up). The existing book block
logic would be removed.
So the logic would be:
If a creates a book in the book administration page - the Book.module
automatically creates a new MENU_BOOK_MENU
Any time a user adds to or updates or delets a book page - the entire
book menu is deleted and recreated based on the hierarchy defined by
the book itself.
The blocks for each book would show up in block administration.
Any thoughts - I know that this doesn't exactly address points 1 and 2
- but it could act as a first step.
Is this approach a bad idea? It would add special conditions for the
proposed book menu's - but books would be a special case.
Even if people don't like this solution, maybe it will give someone a
better idea. I'd love to hear them.
andre
------------------------------------------------------------------------
December 21, 2004 - 22:55 : Boris Mann
+1 to this andre
I had promised to put down my thoughts on this matter, as it relates to
1) primary and secondary links and how they are managed and 2)
auto-generation of primary/secondary navigation based on book outlines
So, for 1), we currently have functional-but-not-very-usable plain
textfields to manage primary and secondary links. I would like to see
menu.module used to control all navigation links, whether it is the
navigation block or primary/secondary links. What is needed:
a) default system menus labelled "primary" and "secondary" which would
store; this is where modules could insert navigation
b) support for full URLs (e.g. http://myexternaldomain.com) instead of
just path
2) if we got 1 working, and andre does his book menus, this could get
taken care of automatically. Basically, for brochureware/business/etc.
sites that have static content, you could have a root book as one of
the primary navigation links, and then the secondary links are
generated automatically.
------------------------------------------------------------------------
December 22, 2004 - 21:02 : Dries
I agree with Andre that the book module's integration with the menu
system needs to be worked on. I support any effort that makes it
easier to structure pages and that makes it easy to link pages/nodes
from within a menu.
However, I'm opposed to putting book module specific names in the menu
system (eg. MENU_BOOK_MENU and MENU_BOOK_ITEM). I can imagine a
handful of modules that want to maintain a menu tree (or part thereof)
so I'm in favor of generic names.
I'd have to read up on the menu system code, but last time I checked
there was a MENU_MODIFIABLE_BY_ADMIN flag. You could choose not to set
this flag for the menu items generated by the book module. Maybe it's
already possible to implement to implement Andre's suggestion without
having to modify/extend the menu system.
Are you exploring this path?
------------------------------------------------------------------------
December 24, 2004 - 10:01 : andremolnar
I've had a few spare hours to work on this.
I've started to cobble together a solution - but in doing so I
discovered a bug in the menu module (for which I will submit a seperate
issue - if one doesn't already exist).
The principal I suggested works. I added some code to the book module
that creates custom menu's (MENU_CUSTOM_MENU with MENU_CUSTOM_ITEMs)
for each Book that exists in a site. This is just as a proof of
concept - I chose this menu type to start with because they
automatically have a block created for them in admin/block (which is
ultimatly the functionality we want).
I ran a test and the menus are created as expected - the blocks are
also created. But when I tested the menu blocks by enabling them I ran
into a problem.
It seems as though the menu system does not expand/explode sub menu
items if the node type is book. I'm not sure why this is, and I
haven't traced the source code yet - I thought I would ask if anyone
has intimate knowledge of the menu system if they can point me in the
right direction.
No patch attached because until that problem is fixed this proposed
change won't fly :(
andre
------------------------------------------------------------------------
December 24, 2004 - 11:11 : Dries
Just a wild guess: maybe it doesn't work because the book module's URI
scheme is not hierarchical?
------------------------------------------------------------------------
January 7, 2005 - 10:45 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_1.patch (5.1 KB)
I finally took some time out to do some work on this. As mentioned in a
post to dev the problem I was having with menus not
expanding/contracting properly was some crud in my database. Once that
was cleared up my changes worked fine.
I am attaching a patch for comments and for the brave willing to give
it a test drive.
History: This thread and http://drupal.org/node/15198 and
http://drupal.org/node/15153
node/15198 has a patch that is required for this patch to work.
What this does:
Pretty straight forward.
Any time a user adds/updates/deletes book or book pages (including via
outline) - a function is called to create a new menu for each book.
Any existing book menus are wiped out and then the new book menus are
inserted - and the system menu is rebuilt to reflect the changes.
The menus created consist of type MENU_MODULE_MENU and
MENU_MODULE_ITEM. These menus show up in the menu/admin page so that
admins can be aware of them, but the menu types are not editable via
menu/admin (all changes are handled by the book module).
Since the menus are in the menu table, the menu_block() hook handles
the creation of the blocks for each of them. The blocks can then be
administered in the usual ways via the block/admin interface.
KNOWN ISSUE: (suggested solutions welcome)
Since the menu table is updated on every change to books - the blocks
associated with the menus are also recreated with default settings
(i.e. disabled, and with no path or throttle settings) requiring a user
to take an extra step and re-configure the book blocks for viewing on
their site. I think this is unacceptable. For the casual user of the
book module that only has a single book that doesn't change often, this
would not be a big deal. But, if anyone wanted to make use of book
module to handle dynamic site navigation this would create more work
than it saves.
Looking forward:
If the block generation issue can be solved in a tidy way, this patch
could allow users to use book to handle all their site navigation
generation needs.
Also, this patch could allow for the removal of a large chunk of code
in the book module dedicated to building its own block via the block
system. I left it there for now because I suppose there may be those
out there that want to have book.module work the way book.module always
worked (only show the book block when viewing a book page). Even so,
since each book would have its own block, an admin could specify when
and where the block shows via admin/block.
I would appreciate feedback. If nothing else I hope this gives someone
some new ideas.
I'll continue to work on the block regeneration issue.
andre
------------------------------------------------------------------------
January 7, 2005 - 10:47 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_2.patch (4.98 KB)
sorry - here's a patch with prefered line breaks.
andre
------------------------------------------------------------------------
January 7, 2005 - 16:47 : nysus
Andre,
I've been meaning to give this a throrough look when I get a chance.
Hopefully this weekend.
---Steve
------------------------------------------------------------------------
January 20, 2005 - 02:02 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_3.patch (6.66 KB)
Here is an updated patch.
Same comments as followup 51 - except that the known issue has been
resolved.
This changes book module so that any action taken on a book, including
adding new books or book pages will create a menu in the menu system
for that book - and thus create blocks for those menus that can be
administered in the usual ways.
This is my first attempt at a major patch to core - comments are
welcome
I will be happy to update documentation once revisions to the code have
been taken care of.
andre
------------------------------------------------------------------------
January 20, 2005 - 02:53 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_4.patch (6.17 KB)
Sorry - would be nice if I removed some debugging code - ;-)
also previous patch also would have introduced a need for a change to
the menu table that isn't required yet.
This patch is a correct version
andre
------------------------------------------------------------------------
January 20, 2005 - 19:16 : Dries
The menu is recreated every time a book page is updated. I believe this
is unwanted behavior because it requires the book block to be
reconfigured upon every update.
------------------------------------------------------------------------
January 20, 2005 - 19:32 : andremolnar
The menu is indeed re-created with every book page edit - because if the
book page title changes the menu needs to reflect this change.
The book block re-configuration is not required by the user. The code
stores this information and re-sets the block settings.
I will see if I can test for 'title change' before forcing the re-build
of the menu - It would save a bit of processing power.
andre
------------------------------------------------------------------------
January 20, 2005 - 20:21 : andremolnar
Took another at this - and it turns out that I already have a check to
see if title or weight change (rather - they already existed in the
module and I used them).
andre
------------------------------------------------------------------------
January 24, 2005 - 02:22 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_6.patch (7.42 KB)
Feedback received indicated that the original block generation code in
this module should be removed - since this patch hands block generation
off to the menu and block system.
This patch removes that code. BUT - It should be noted, that in order
to have book blocks only show up on pages of node type book - an
additional patch found at http://drupal.org/node/16074 is required.
andre
------------------------------------------------------------------------
January 24, 2005 - 18:36 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_7.patch (7.43 KB)
Yet another patch:
Brings this patch in line with - http://drupal.org/node/16074 (i.e. the
column name change in {block} table)
andre
------------------------------------------------------------------------
January 25, 2005 - 18:56 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_8.patch (7.53 KB)
And another minor patch to cover coding style and variable names.
Just to bring everyone up to speed:
1) Each book and its children pages have a menu created for them (on
any add, edit, delete to a book or book page).
2) Those book menus automatically have a block created for them via
menu_block hook.
3) Block settings are preserved any time there is a change to a book
that requires the menu and its associated block to be re-built.
4) book_block hook is removed because it is redundant.
5) With the addition of the configuration option in blocks to only show
blocks on certain node types (see: http://drupal.org/node/16074)
administrators have full control over when and where a book block shows
up (including maintaining the status quo of only having book blocks show
up on book pages).
6) This patch does require http://drupal.org/node/15198
andre
------------------------------------------------------------------------
January 25, 2005 - 21:49 : Boris Mann
+1!!
Book-based automatic navigation for corporate/brochureware sites!
Fantastic! Chris Messina, get in here and add a +1 to this.
------------------------------------------------------------------------
January 25, 2005 - 22:26 : Dries
Boris, have you tested this patch extensively, or are you just giving
this +1 based on what you've read? If you want to see this committed,
take the time to review/test it.
------------------------------------------------------------------------
January 26, 2005 - 05:45 : andremolnar
Yes - please - testers are welcome.
Nysus (aka Steve) has already agreed to give this a test drive when he
had a spare moment. I hope for some feedback in the near future. But
if you have a moment Borris I would appreciate it.
OR - If someone would just like to demo this:
http://s92258948.onlinehome.us/greenbeach/
UN: drupaldev PW: drupaldev
Don't mind the mess - it is my test environment and there is a lot of
junk data and settings floating around - but this patch is running
there along with the additional block configuration settings.
andre
------------------------------------------------------------------------
January 31, 2005 - 19:12 : Boris Mann
You got me, Dries...
I have since spent time testing the module on andre's site, and it does
everything I can foresee needing at this point, with no functional
errors.
This functionality alone will make creating standalone sites that are
composed of mainly static pages very, very simple.
------------------------------------------------------------------------
February 3, 2005 - 08:58 : Dries
The demo-site appears to be down. Bummer.
------------------------------------------------------------------------
February 3, 2005 - 22:59 : andremolnar
Attachment: http://drupal.org/files/issues/book_module_9.patch (7.58 KB)
Sorry - demo site was down while database was being cleaned and latest
CVS modules were being installed (general site maintenence for
testing).
The site is up now with a fresh database and install of Drupal CVS.
UN drupaldev PW drupaldev (has access to manage blocks, books, and
menus to see this patch in action)
Attached is an updated patch to make use of db_rewrite_sql (instead of
node_rewrite_sql). Also fixes a minor bug that appeared if you were
creating the first book in the site.
andre
------------------------------------------------------------------------
February 3, 2005 - 23:13 : Anonymous
This patch seems to modify the blocks and menu tables directly from
within book.module. (in the new book_build_menu_module_menu function)
This sets a terrible precedent for other modules. IMO, these tables
should be modified by functions defined within the block module or menu
module (or menu.inc). Modifying the tables randomly throughout many
other points in the code makes changes to these tables difficult and
makes troubleshooting problems much trickier. Let's not sacrafice code
organization for the sake of making the patch as small as possible.
--
View: http://drupal.org/node/14120
Edit: http://drupal.org/project/comments/add/14120
1
0
[drupal-devel] [bug] Signature "interrupts" typing comments due to existence in text field
by irwin 04 Feb '05
by irwin 04 Feb '05
04 Feb '05
Project: Drupal
Version: cvs
Component: comment.module
Category: bug reports
-Priority: normal
+Priority: minor
Assigned to: Anonymous
Reported by: irwin
Updated by: irwin
Status: patch
Reducing severity to "minor" because that's what it is.
irwin
Previous comments:
------------------------------------------------------------------------
February 3, 2005 - 23:47 : irwin
In the Drupal comments/ signature system, there is a usability problem
with the signature.
The main problem is that, when adding a comment, the signature appears
in the same line as the textarea that you are writing the content of
your post. When you begin typing, your new text actually appears AFTER
the signature (at least in Konqueror 3.2).
This makes it incredibly annoying for users because you have to go to
the beginning of the textarea before you can type your data.
A corrolary to this problem is that, when quoting (using the quote
module), the signature is included by default in the quote, which
should not be the default behaviour.
It appears that the signature is being added to the actual body text of
the comment, as opposed to being retrieved from the user's profile when
the page is rendered.
--
>From an engineering/design perspective, one possible way to fix this is
instead of adding the signature text to the comment, instead retrieve
the signature dynamically from the user's profile when the page is
rendered. If you do this, not only do you avoid the above problems,
but you also improve the flexibility of signatures (for example,
changing it once will cause the signature to change in every comment
you make). You can also use this design change to give the users a
choice of when to display their signature (for example, by using a
checkbox on the node that says, "Display your signature with this
post").
--
Thank you.
------------------------------------------------------------------------
February 4, 2005 - 00:49 : irwin
Attachment: http://drupal.org/files/issues/signature_load_on_render-20050204.patch (1.62 KB)
Included: patch.
Changes explanation:
"theme_comment_form": the code to autoinsert the signature into the
textarea is removed.
"theme_comment_view": code added to insert signature at the end of the
$comment->comment data structure. I encase the comment in [p
class="signature"] [/p] (with the correct brackets of course) so that a
CSS theme can change the appearance of signatures.
Caveat: the sig still appears in the [div class="body"] of the comment
theme.
Added function _comment_get_signature($uid), which gets a signature,
given a user ID.
Caveat: this requires an additional query to the "users" table with
every user comment.
Tested with:
- User without signature
- User with signature
- Anonymous poster
- Previewing
- Positng
- Editing a signature: expected result is that all signatures are
changed to reflect the new signature.
Please let me know of any problems.
--
View: http://drupal.org/node/16726
Edit: http://drupal.org/project/comments/add/16726
1
0
[drupal-devel] [bug] Signature "interrupts" typing comments due to existence in text field
by irwin 04 Feb '05
by irwin 04 Feb '05
04 Feb '05
Project: Drupal
Version: cvs
Component: comment.module
Category: bug reports
Priority: normal
Assigned to: Anonymous
Reported by: irwin
Updated by: irwin
-Status: active
+Status: patch
Attachment: http://drupal.org/files/issues/signature_load_on_render-20050204.patch (1.62 KB)
Included: patch.
Changes explanation:
"theme_comment_form": the code to autoinsert the signature into the
textarea is removed.
"theme_comment_view": code added to insert signature at the end of the
$comment->comment data structure. I encase the comment in [p
class="signature"] [/p] (with the correct brackets of course) so that a
CSS theme can change the appearance of signatures.
Caveat: the sig still appears in the [div class="body"] of the comment
theme.
Added function _comment_get_signature($uid), which gets a signature,
given a user ID.
Caveat: this requires an additional query to the "users" table with
every user comment.
Tested with:
- User without signature
- User with signature
- Anonymous poster
- Previewing
- Positng
- Editing a signature: expected result is that all signatures are
changed to reflect the new signature.
Please let me know of any problems.
irwin
Previous comments:
------------------------------------------------------------------------
February 3, 2005 - 23:47 : irwin
In the Drupal comments/ signature system, there is a usability problem
with the signature.
The main problem is that, when adding a comment, the signature appears
in the same line as the textarea that you are writing the content of
your post. When you begin typing, your new text actually appears AFTER
the signature (at least in Konqueror 3.2).
This makes it incredibly annoying for users because you have to go to
the beginning of the textarea before you can type your data.
A corrolary to this problem is that, when quoting (using the quote
module), the signature is included by default in the quote, which
should not be the default behaviour.
It appears that the signature is being added to the actual body text of
the comment, as opposed to being retrieved from the user's profile when
the page is rendered.
--
>From an engineering/design perspective, one possible way to fix this is
instead of adding the signature text to the comment, instead retrieve
the signature dynamically from the user's profile when the page is
rendered. If you do this, not only do you avoid the above problems,
but you also improve the flexibility of signatures (for example,
changing it once will cause the signature to change in every comment
you make). You can also use this design change to give the users a
choice of when to display their signature (for example, by using a
checkbox on the node that says, "Display your signature with this
post").
--
Thank you.
--
View: http://drupal.org/node/16726
Edit: http://drupal.org/project/comments/add/16726
1
0
Project: Drupal
Version: 4.5.2
Component: base system
Category: feature requests
Priority: normal
Assigned to: Anonymous
Reported by: jhefmv24
Updated by: jhefmv24
Status: patch
Attachment: http://drupal.org/files/issues/system.module_3.patch (1.03 KB)
patch of /modules/system.module 4.5.2 version to set proxy settings
jhefmv24
Previous comments:
------------------------------------------------------------------------
May 19, 2004 - 13:01 : jhefmv24
Attachment: http://drupal.org/files/issues/common.inc (37.11 KB)
I think the RSS feeds don't work if there is proxy server running. The
request/connection is somehow being blocked.
The connection should be made first to the proxy and once it is
established, then request can made.
I think the core function drupal_http_request() under
/includes/common.inc doesn't support this.
One workaround is change the code from:
<?php
switch ($uri['scheme']) {
case 'http':
//$fp = @fsockopen($uri['host'], ($uri['port'] ? $uri['port']
: 80), $errno, $errstr, 15);
?>
into:
<?php
//use proxy settings
$fp = @fsockopen('proxy2', '8080');
?>
And then create the request by change from:
<?php
$request = "$method $path HTTP/1.0\r\n";
?>
Into:
<?php
$request = "$method ".$uri['scheme']."://".$uri['host'].$path."
HTTP/1.1\r\n";
?>
And comment out the lines:
<?php
$request .= implode("\r\n", $defaults);
?>
------------------------------------------------------------------------
February 2, 2005 - 07:38 : Anonymous
Did this ever get taken care of in 4.5.2. I can't seem to get any feed
to work from behind a firewall. Getting error....
Failed to parse RSS feed Microsoft Security Info: 10060 A connection
attempt failed because the connected party did not properly respond
after a period of time, or established connection failed because
connected host has failed to respond..
At home this same feed works fine, so I know it's not the feed.
Thanks,
SlackNet
------------------------------------------------------------------------
February 4, 2005 - 12:24 : jhefmv24
Attachment: http://drupal.org/files/issues/common.inc_4.patch (1.37 KB)
+1 on having a facility to modify proxy settings...
here's a patch of /includes/common.inc for drupal-4.4.2 version
------------------------------------------------------------------------
February 4, 2005 - 12:25 : jhefmv24
Attachment: http://drupal.org/files/issues/system.module_2.patch (956 bytes)
+1 on having a facility to modify proxy settings...
here's a patch of /modules/system.module for drupal-4.4.2 version
------------------------------------------------------------------------
February 4, 2005 - 12:31 : jhefmv24
Attachment: http://drupal.org/files/issues/common.inc_5.patch (1.35 KB)
patch for /includes/common.inc 4.5.2 version to facilitate rss feeds
behind firewall
--
View: http://drupal.org/node/7881
Edit: http://drupal.org/project/comments/add/7881
1
0
Project: Drupal
-Version: 4.4.2
+Version: 4.5.2
Component: base system
Category: feature requests
Priority: normal
Assigned to: Anonymous
Reported by: jhefmv24
Updated by: jhefmv24
Status: patch
Attachment: http://drupal.org/files/issues/common.inc_5.patch (1.35 KB)
patch for /includes/common.inc 4.5.2 version to facilitate rss feeds
behind firewall
jhefmv24
Previous comments:
------------------------------------------------------------------------
May 19, 2004 - 13:01 : jhefmv24
Attachment: http://drupal.org/files/issues/common.inc (37.11 KB)
I think the RSS feeds don't work if there is proxy server running. The
request/connection is somehow being blocked.
The connection should be made first to the proxy and once it is
established, then request can made.
I think the core function drupal_http_request() under
/includes/common.inc doesn't support this.
One workaround is change the code from:
<?php
switch ($uri['scheme']) {
case 'http':
//$fp = @fsockopen($uri['host'], ($uri['port'] ? $uri['port']
: 80), $errno, $errstr, 15);
?>
into:
<?php
//use proxy settings
$fp = @fsockopen('proxy2', '8080');
?>
And then create the request by change from:
<?php
$request = "$method $path HTTP/1.0\r\n";
?>
Into:
<?php
$request = "$method ".$uri['scheme']."://".$uri['host'].$path."
HTTP/1.1\r\n";
?>
And comment out the lines:
<?php
$request .= implode("\r\n", $defaults);
?>
------------------------------------------------------------------------
February 2, 2005 - 07:38 : Anonymous
Did this ever get taken care of in 4.5.2. I can't seem to get any feed
to work from behind a firewall. Getting error....
Failed to parse RSS feed Microsoft Security Info: 10060 A connection
attempt failed because the connected party did not properly respond
after a period of time, or established connection failed because
connected host has failed to respond..
At home this same feed works fine, so I know it's not the feed.
Thanks,
SlackNet
------------------------------------------------------------------------
February 4, 2005 - 12:24 : jhefmv24
Attachment: http://drupal.org/files/issues/common.inc_4.patch (1.37 KB)
+1 on having a facility to modify proxy settings...
here's a patch of /includes/common.inc for drupal-4.4.2 version
------------------------------------------------------------------------
February 4, 2005 - 12:25 : jhefmv24
Attachment: http://drupal.org/files/issues/system.module_2.patch (956 bytes)
+1 on having a facility to modify proxy settings...
here's a patch of /modules/system.module for drupal-4.4.2 version
--
View: http://drupal.org/node/7881
Edit: http://drupal.org/project/comments/add/7881
1
0